Цитата мудреца

Голосование

Система Orphus. Если вы заметили ошибку на сайте, нажмите сюда.
Загружается, подождите...
Начало сайта Материалы сайта Программы PHP-скрипты
Версия для слабовидящих
Версия для печати

Ограничение на скорость выдачи страниц одному пользователю

Здесь представлены некоторые мои разработки на PHP. Это в, основном, служебные скрипты, которые работают в составе других скриптов и не могут быть протестированы здесь непосредственно.

Vit, в самом начале скрипта определяется переменная $ad_Robots_IP. В ней определяются айпишники сетей, принадлежащих поисковикам. Я периодически обновляю эти данные, и это можно видеть по версии. Сейчас актуальна версия
Код: Выделить всё
* Модуль antiddos.php V3.1.2 Вт 16 Март 2010

А чтобы дать команду поисковикам, чтобы они не бомбили сайт так рьяно, есть специальная команда в файле robots.txt:
Код: Выделить всё
Crawl-delay: 3

Это значит, что робот не будет заходить на сайт чаще, чем раз в 3 секунды.
Ответить


Спасибо Вам Андрей! Стал вникать во все эти вещи, однако Вы так и не ответили на мой не блещущий умом и сообразительностью вопрос в комменте - я немного в замешательстве индекс.пхп есть и в корне сайта и в шаблонах куда мне его пристроить? - можно ли в таком случае поставив в 1-2 шаблонах избежать вероятности того, что нагрузка на т.н. процессорные секунды снизится? Что касается робот.тхт ещё раз спасибо огромное! Быть может это тоже связано - поскольку посмотрев некоторые комменты и советы на форуме моего движка кое-что изменил в этом файле убрав dissalow image с тем что бы и фото индексировались поисковиками... Но видимо очень много премудростей во всех моментах, на первый взгляд не имеющих значения. Так что буду методом проб и ошибок стараться изменить ситуацию! Да вот ещё что. Быть может Ваш сайт поможет таким же как и я не особо знающим премудрости - помимо изменений в робот.тхт мною и были произведены изменения целью перевести юрл на т.н. человекопонятную строку и для роботов. Что и сделал (переименовал файл) в настройках сайт первёл на дружественные ссылки. Но почитав кое-что вполне возможно и это может давать нагрузку на сервер поскольку адрес (сохранённые копии поисковиков) пробивают и по старому и по новому адресу... Не знаю может я и не прав - но когда просто в первый раз что-то делаешь - комов не избежать! Ещё раз спасибо!
P.S. Очень интересный сайт у Вас по контенту. Вот разберусь с проблемами - и обязательно зайду по многим категориям Вашего сайта, очень есть моменты по которым тоже бы хотелось высказаться! Удачи Вам!
Ответить


Vit писал(а):индекс.пхп есть и в корне сайта и в шаблонах куда мне его пристроить?

Смотрите сами. Можно его пристроить только на самые часто вызываемые страницы (скрипты). Можно на всё. Но имейте в виду, нельзя допустить того, чтобы он вызывался дважды. Иначе страница будет блокироваться, не показываясь ни разу.
И ещё, постарайтесь, чтобы модуль был вызван как можно раньше при работе скрипта, чтобы минимизировать нагрузку.

По поводу дружественных ссылок - да, это может увеличивать нагрузку. Я, в подобном случае, запретил роботу индексировать страницы, начинающиеся со старых вариантов адресов.
Ответить


Vit, судя по тому как делаются все движки с шаблонами, то происходит следующее:
пользователь вводит адрес сайта (форума, чего угодно), сервак отдает ему запрашиваемую страницу (index.php в корне сайта). Но прежде чем отдавать контент, сам запрашиваемый файл натягивает на себя шкурку из шаблонов (там они огут обзываться как угодно).
Так вот, что бы не мудорствовать я бы прикрутил кеширование страниц к файлам, которые вызываются из корня вашей системы (форум, блог и прочее), но с разумом.
Так как например config.php вызывается практичеси в каждом файле, то смысла в него пихать кеширование нету, так как неизвестно, где он вызван будет.
По этому пихаем в целевые файлы - index.php, showtopic.php и подобные.
Ответить


Smirna писал(а):Vit, судя по тому как делаются все движки с шаблонами, то происходит следующее:
пользователь вводит адрес сайта (форума, чего угодно), сервак отдает ему запрашиваемую страницу (index.php в корне сайта). Но прежде чем отдавать контент, сам запрашиваемый файл натягивает на себя шкурку из шаблонов (там они огут обзываться как угодно).

Спасибо Smirna! Я то у хостера в панели управления прохожу все БД исправляю(по ошибкам и нагрузгам и т.д.), то изучаю скаченные пособия по PHP и др. Плохо быть чайником, да ещё к тому же не знающим. :oops: Посредственно зная все эти премудрости, за год правда поднаторел немного, времени и возможностей не было, моя основная профессия журналистика, и вот в прошлом году пришлось с 0 начинать изучение всего этого... Плохо что поздновато докумекал, что надо было идти со временем!
Всвязи с этим Smirna вот такой вопрос. Когда сайт работает на трёх различных шаблонах, и некоторые материалы отображаются и на главной и непосредственно в другом меню-категории. По логике я так понимаю файл натягивая на себя шкуру из шаблонов по сути стоит, иль как правильнее сказать высвечен в двух шаблонах. Нет ли здесь тоже своего рода нагрузки на сервак?
Ещё если можно ответьте пожайлуста Андрей и Smirna. Сегодня нарыл на одном форуме Джумла компонент, который замечательно кеширует, тем самым уменьшая кол запросов и нагрузку на сервак. У меня кеширование не было включено, но как вы справедливо заметили - один юзер проведя тестирование показал, что всё равно разница не велика, тем более если в в самом движке даже если и включено кеширование, то необходимо ещё и прописывать в модулях на кеш. Это опять же для меня тёмный лес, поэтому вот делаю анализ (тем более для не особосмыслящих (!) на данном этапе) куда и в какое место сайта поставить скрипт Андрея. Отвлёкся немного. Так вот. Вопрос вот какой - какое время надо оптимальное ставить в настройках кеширования (это так для общего так сказать дополнения)? И последнее. сегодня ко всему прочему в вики на ПетерХост прочёл ещё одну вещь, что бы снизить хоть немного нагрузку, надо настроить в панели управления всё что касается стат страниц: фото, флеши и т.д. Я выбрал флеши, поскольку они порой дольше грузятся, но вероятнее надо было бы выбрать jpg? Да вот еще что забыл упомянуть, я из робот.тхт убрал Dissalow фоток. Причём для всех Uzer, а в самом низу прописал что посоветовал Андрей по роботам с 3 сек задержкой. Я правильно сделал? Вроде загнал на Яндекс Веб мастер, не ругался он вроде, что ошибки есть. Я строку Андрея не выделял отдельной блоком, а просто поставил после последнего Dissalow: /tmp/
Crawler... и т.д.
Если не трудно подскажите мне ответы, не откажите в любезности пояснить немного, правильно я делаю и в этом направлении тоже?
Спасибо за терпение!
Ответить


А..Я писал(а):
Vit писал(а):По поводу дружественных ссылок - да, это может увеличивать нагрузку. Я, в подобном случае, запретил роботу индексировать страницы, начинающиеся со старых вариантов адресов.

Андрей Бога ради извините! Перейдя на SEO я всё время переживаю за то, что ранее проиндексированные страницы с ЮРЛ, создают некоторую проблему для сервака.... но так хотелось тоже быть немного ближе к тем кто сделал короткие юрл адреса на сайтах. И вот снова обращаюсь к Вам за помощью: как надо написать именно чтобы робот не индексировал страниц со старых адресов? А то если честно я недавно поставил в робот.тхт строку чтобы индексировалась и карта сайта, но робот Яндекса (вебмастер) определил её как ошибочную неправильно написанную, я её и убрал. Вот поэтому и боюсь чего нибудь напартачить...
С уважением Вит
Ответить


Vit писал(а):Сегодня нарыл на одном форуме Джумла компонент, который замечательно кеширует

Во-первых, тема, которую мы здесь обсуждаем не касается кэширования. Здесь мы охраняем сайт от грубого обращения. А вот если хотите поставить кэширование, то это сюда. Но здесь надо отдавать себе отчёт, что кэширование помогает SQL-серверу, но вредит Апачу.

Vit писал(а):как надо написать именно чтобы робот не индексировал страниц со старых адресов?

Я для этого сайта сделал так:
Код: Выделить всё
User-Agent: *
Disallow: /index.php
Disallow: /viewforum.php
Disallow: /viewtopic.php
Disallow: /posting.php
Disallow: /ucp.php
Crawl-delay: 3
Host: avy.ru
Ответить


Что-то у меня не клеется. Вроде бы установил - без всяких изменений в индекс.пхп: пропала страница полностью того раздела меню где разместил ваш модуль. Вероятно я всё же совсем не понимаю куда и как вставлять. Андрей а можно прислать страницу индекс шаблона с тем чтобы как говорится таким как я недоходчивым и отсталым "на пальцах визуально разъяснить"? Почему пишу - вновь хостер предупреждение прислал (8 Мая), как определил по акцессу - нагрузка была свыше 7% из Турции. Хотя так и не могу понять по секундам и различной загрузке страниц - не так уж и велики процессорные запросы... ну да Бог с ним, всё же необходимо оберегаться от всякого рода проблем в этом направлении, вот поэтому вновь и обращаюсь к Вам.
С уважением Вит.
Ответить


Vit, прежде всего, почему Вы говорите о шаблоне? Разве я где-то говорил, что нужно вставлять в шаблоны? Нужно вставлять в исполняющий файл - в скрипт, который запускается. При чём вставлять нужно вызов файла, а не сам файл:

Код: Выделить всё
include 'antiddos.php';
Ответить


Добрый день Андрей! То есть вызов файла необходимо дополнительно прописывать в скрипт? Снова и снова перечитываю всю тему и комменты пользователей. Модуль установил в корень. Но также вот столкнулся с пропиской пути к логам и временным файлам и т.д.
define ('AD_DIRNAME', $_SERVER['DOCUMENT_ROOT'] . 'http://webftp.z8.ru/index.php/tmp_path');
и вот ещё
//Выполняем запрос к логам. Нужно указать путь и имя лог-файла
exec('cat / home/vit08/www/site1/ samhain.z8.ru /logs/access_log | egrep \'(' .
Или вставлять нужно вот так: exec('cat / home/net2ftp/samhain.z8.ru/logs/access_log | egrep \'(' .
Я в потёмках, аки тёмном лесу, поэтому не могу дойти головой какой указать путь, поэтому подумал что указать путь на сервер надо, где и находятся дирректории, но вот как правильно Ваш скрипт направить по правильному пути, не знаю.
А в остальном я так понимаю ничего не надо добавлять, просто затем активировать модуль в панели админки и задавать (направлять действия скрипта) там где необходимо?
Приношу ещё раз искренние извинения, за то, что для многих знания в области програмирования и пхп проще простого, но вот я пока конечно как ребёнок блуждаю, и потихоньку с Вашей помощью медленно дохожу до сути.
Буду признателен и на сей раз за помощь и пояснения
С уважением Вит
Ответить


Пред.След.

Вернуться в PHP-скрипты



Кто сейчас на сайте

Зарегистрированные пользователи: нет зарегистрированных пользователей