User Tools

Site Tools


Writing /home/user/smartcj.com/wiki/data/cache/c/cb4f68b7c5486fae5ce81c790071ac88.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/user/smartcj.com/wiki/data/cache/c/cb4f68b7c5486fae5ce81c790071ac88.metadata failed
ru:faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:faq [2025/04/23 18:16] – [Page Track] adminru:faq [2026/06/22 17:23] (current) – [How to test script] admin
Line 35: Line 35:
 те tube_embed_switch_rules выключен только для первого клика. те tube_embed_switch_rules выключен только для первого клика.
  
-===== Приоритет скиминга =====+===== Skim Priority by Entity =====
  
-Ским указанный в урле имеет приоритет над всеми остальными вариантами.+По умолчанию Ским указанный в урле имеет приоритет над всеми остальными вариантами.
 Если ским в урле не указан - проверяются персональные сетинги трейдеров. Если ским в урле не указан - проверяются персональные сетинги трейдеров.
 Если и тут ским не указан - используется дефолтный ским из сетингов.(CJSettings - Content Settings - Default skimming) Если и тут ским не указан - используется дефолтный ским из сетингов.(CJSettings - Content Settings - Default skimming)
  
-Но при желании это поведение можно менять, порядок выбора скима меняется в сетингах. Можно таскать параметры вверх вниз по приоритетности.+При желании это поведение можно менять, порядок выбора скима меняется в сетингах.  
 +Можно таскать параметры вверх вниз, меняя порядок приоритета.
  
  
Line 282: Line 283:
   * rewrites - если у вас Apache то htaccess, если nginx то в его конфиге   * rewrites - если у вас Apache то htaccess, если nginx то в его конфиге
  
- 
-===== "Прокладка" для out.php  ===== 
- 
-Иногда возникает необходимость в реализации или тестировании какой-то функциональности, которой еще нет в скрипте. Если это касается кликов то проще всего сделать следующим образом. Например, нам надовыставить персональный ским для галер на домене gallery.com (при этом ским для галер на доменах gallery1.com gallery2.com остается дефолтным). 
- 
-  * out.php переименовываем в out_scj.php 
-  * out.php делаем такой 
-<code> 
-<?php 
- 
-if ($_GET['url']) { 
-$tmp = parse_url($_GET['url']); 
-if ($tmp['host'] == 'gallery.com') $_GET['p'] = 50; 
-} 
- 
-include('out_scj.php'); 
-</code> 
  
  
Line 725: Line 709:
   
  
 +====== How to count with JS ======
  
 +Для обратной совместимости, в целом как мне кажется не имеет смысла.
 +
 +Если вы хотите считать только ины то можно поставить JS счетчик следующим кодом:
 +
 +<code>
 +<script
 +  src="http://your_domain/scj/cgi/pixel.js"
 +  data-endpoint="http://your_domain/scj/cgi/include.php"
 +></script>
 +</code>
 ====== Server Load ====== ====== Server Load ======
  
Line 805: Line 800:
  
  
-Из всего этого следует сакратльный вопрос: **сколько сайтов потянет сервер такой-то ... ?** Это вопрос из разряда “сколько коробочек влезет в машину?” это на 100% зависит от веса коробочек, их размера и желания максимально оптимально их там распихивать. +Из всего этого следует вопрос: **сколько сайтов потянет сервер такой-то ... ?** Это вопрос из разряда “сколько коробочек влезет в машину?” это на 100% зависит от веса коробочек, их размера и желания максимально оптимально их там распихивать.  
 + 
 + 
 +====== How cache works ====== 
 + 
 +Как работает кеширование в интернет 
 + 
 +<code> 
 + 
 ++------------------+ 
 +|  Пользователь   | 
 ++------------------+ 
 +         | 
 +         v 
 ++------------------+ 
 +|     Браузер     | 
 ++------------------+ 
 +         | 
 +           
 +         v 
 ++----------------------------------+ 
 +|        Кэш браузера              | если тут закеширвоать страницу то ни сервер  
 ++----------------------------------+ ни скрипт никогда не узнают что  
 +                                   пользователь открывал URL   
 +         v 
 ++----------------------------------+ 
 +|        CDN                       | Аналогично и тут, запрос еще не дошел до сервера 
 ++----------------------------------+ 
 +         | 
 +           
 +         v 
 ++----------------------------------+ 
 +|     Веб-сервер                   | 
 +|   (Apache / Nginx)                 Веб-сервер может закешировать страницу полностью  
 ++----------------------------------+   и скрипт не узнает что было  обращение к странице 
 +                \ 
 +                 \ обращение 
 +                  v 
 +           +--------------------+ 
 +            Серверный кэш     | 
 +           | (файлы / Redis)   | 
 +           +--------------------+ 
 +         | 
 +           
 +         v 
 ++----------------------------------+ 
 +|     Скрипт / Приложение          |  тут скрипт уже знает что было обращение  
 ++----------------------------------+ 
 +                \ 
 +                 \ обращение 
 +                  v 
 +           +--------------------+ 
 +             Кэш данных       | 
 +           | Redis \ memcache   | 
 +           +--------------------+ 
 +         | 
 +         v 
 ++------------------+ 
 +|   База данных    | 
 ++------------------+ 
 + 
 + 
 +</code> 
 + 
 + 
 +**Как браузер получает страницу и где в интернете появляется кэш** 
 + 
 +Когда пользователь вводит адрес сайта в браузере, кажется, что браузер «просто идёт на сервер и получает страницу». 
 +На самом деле браузер старается не ходить на сервер, если это возможно. 
 + 
 +Вся система интернета устроена так, чтобы: 
 + 
 +  * получить ответ как можно быстрее 
 +  * пройти как можно меньшее расстояние 
 +  * задействовать как можно меньше серверов 
 + 
 +Для этого используются кэши. 
 + 
 + 
 +**Шаг 1. Браузер и кэш браузера** 
 + 
 +После ввода адреса браузер сначала проверяет: «А у меня уже есть эта страница?» 
 + 
 +Браузер может хранить: 
 + 
 +  * готовую HTML-страницу 
 +  * стили 
 +  * JS скрипты 
 +  * изображения 
 + 
 +Если нужные данные уже есть в кэше браузера: 
 + 
 +  * никакого запроса в интернет не происходит 
 +  * сервер вообще ничего не узнаёт о пользователе 
 +  * страница открывается мгновенно 
 + 
 +Это самый быстрый вариант. 
 + 
 +**Шаг 2. DNS — поиск адреса сервера** 
 + 
 +Если браузеру всё-таки нужно идти в интернет, сначала он должен понять: 
 + 
 +«Куда идти?» 
 + 
 +Для этого используется DNS. DNS переводит имя сайта в IP-адрес 
 + 
 +**Шаг 3. CDN — сервер ближе к пользователю** 
 + 
 +После DNS запрос идёт не обязательно сразу на основной сервер сайта. 
 + 
 +Между браузером и сервером может находиться CDN — сеть серверов в разных странах. 
 + 
 +Пример: основной сервер находится в Европе, пользователь — в Южной Америке 
 + 
 +Если всегда обращаться в Европу: 
 + 
 +  * сигналу нужно пройти большое расстояние 
 +  * страница будет загружаться медленно 
 + 
 +CDN работает так: 
 + 
 +  * первый запрос идёт на основной сервер 
 +  * ответ сохраняется на сервере CDN ближе к пользователю 
 +  * следующие пользователи получают страницу быстрее 
 + 
 +CDN удобно использовать для контента, который не меняется на каждый запрос 
 + 
 +    * если CDN отдаёт ответ из кэша, запрос не доходит до основного сервера 
 +    * скрипт ничего не узнаёт о пользователе 
 + 
 +**Шаг 4. Веб-сервер (Apache / Nginx)** 
 + 
 +Если CDN не смог отдать страницу, запрос приходит на веб-сервер. Веб-сервер — это программа, которая принимает HTTP-запросы. 
 + 
 +У веб-сервера есть выбор: 
 + 
 +  * отдать готовую страницу (если он откуда то знает что надо отдать) 
 +  * передать запрос дальше в скрипт 
 + 
 +Если у веб-сервера есть готовый ответ: 
 + 
 +  * он сразу возвращает страницу 
 +  * скрипт не запускается 
 +  * скрипт не знает, что был запрос 
 +  * Apache может передать запрос скрипту 1 раз и закешировать ответ  
 + 
 +Важный момент: что такое серверный кэш. Серверный кэш — это не часть веб-сервера и не часть скрипта. 
 + 
 +Это: 
 + 
 +  * отдельное хранилище 
 +  * файлы, память или Redis 
 +  * грубо это как отдельная коробка в которую могут складывать данные кто угодно кто работает на сервере 
 + 
 + 
 +Еще раз для понимания. В серверный кеш могут писать: 
 + 
 +  * веб-сервер 
 +  * скрипт 
 +  * оба одновременно 
 + 
 + 
 +Шаг 5. Скрипт (приложение) 
 + 
 +Если запрос дошёл до скрипта: 
 + 
 +  * скрипт точно знает, что был пользователь 
 +  * может записать статистику 
 +  * может принять решения сформировать страницу снова или отдать из кеша  
 + 
 + 
 +**Скрипт формирует страницу из данных.** 
 + 
 +Важно: кэшироваться может не только вся страница, но и отдельные данные. 
 + 
 +**Пример:** 
 + 
 +  * название сайта хранится в базе и почти не меняется 
 +  * текущая дата должна быть новой каждый раз 
 + 
 + 
 +Тогда: название сайта можно взять из базы 1 раз и сохранить в кеше, а дата формируется заново каждый раз  
 + 
 +Те закеширована не вся страница, а только определенные данные из которых сформирована страница. те HTML создаётся каждый запрос, запросы есть, но нагрузка на базу данных почти отсутствует 
 + 
 +**Шаг 6. База данных** 
 + 
 +Если данных нет ни в каком кэше: 
 + 
 +  * скрипт обращается к базе 
 +  * база читает данные (тут варианты - если хватает памяти Mysql держит данные в памяти, если не хватает - читает с диска) 
 +  * страница полностью формируется заново 
 + 
 + 
 + 
 +**Что из этого всего надо понять** 
 + 
 +  * если запрос не дошел до скрипта - скрипт про него просто не узнает  
 +  * page cache, Redis, memcache, серверный кеш и еще куча слов - это не важно, это просто название "коробочек" куда складываются данные. Важно только в каком пункте и что именно вы кешируете
  
  
 +**Как используется память под кеш**
  
 +  * базово данные хранятся в файлах 
 +  * база данных (mysql) может данные держать в памяти если хватает памяти и достаточно выделено в конфиге mysql 
 +  * redis (и любой другой кеш) так же как и база стараются хранить данные в памяти но если не хватает - скидывает в файл
  
ru/faq.1745432169.txt.gz · Last modified: by admin