Перейти к содержимому


Фотография

Как убрать нагрузку на сервер?

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 126
sahno
  • Участники
  • Cообщений: 59

Отправлено

Помогите чем сможете.

Сегодня пришло от хоста

Ваш аккаунт был заблокирован за привешенные Выделенных для него ресурсов(согласно договору 5%CPU, 32mb ОЗУ и 30с. на исполнения скриптов).

Top Process %CPU 50.0 /usr/php4/bin/php /home/softfan/public_html/forum/index.php
Top Process %CPU 43.0 [php]
Top Process %CPU 35.0 [php]

Можем Вам сказать, что файл /home/softfan/public_html/forum/index.php вызывает нагрузку, но какой именно из его скриптов мы не можем сказать.
Пожалуйста, устраните неполадки и мы откроем сайт.


Вот как я могу устранить, если я не помню когда уже ставил моды, и давно уже не было у меня такой нагрузки, что это может быть и как исправить?

Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

sahno,

А) В случае, если проблема действительно в ваших скриптах, у вас три варианта:

1) лицензия (если нет) + запрос техподдержке,
2) фрилансер со стороны,
3) самостоятельно откатиться до чистой версии форума без модов.

В любом случае предварительно сделайте полный бекап.

Б) Есть и другие возможные причины произошедшего:

1) активность поисковых ботов,
2) DDoS-атака на ваш форум,
3) значительно возросшая популярность ресурса.

Чтобы проверить эти версии, нужно проанализировать логи доступа к сайту, логи ошибок (если есть) в папке /cache/*.cgi. Для каждой из причин есть свое решение, так же как есть и общее решение на все три случая - смена тарифного плана/хостера =)

Kurmus
  • Участники
  • Cообщений: 11
  • http://www.delfim.lv
  • Город:Рига
  • Интересы:Рыбалка

Отправлено

 

лучше подправить в коде, и пусть поисковые боты посещают: они в общем не должны мешать работе, в чем-то даже помогут.

Я дал айпишники не поисковых ботов, а самых злобных парсеров, выявленных на моих серврерах за последние 10 дней.

ОК, держите простенькую заплатку:
sources\classes\class_session.php
Найти:
function update_guest_session()
	{
и добавить ниже:
if(($this->time_now - $this->last_click) < 5)$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'server_too_busy', 'INIT' => 1 ) );
Вместо цифры "5" можно попробовать другие цифры. Чем больше цифра, тем меньше нагрузка на сервер, но тем больше гостей будет получать предупреждение при быстром листании страниц:

Сервер не может в данное время выполнить ваш запрос. Попробуйте позже.


Зарегистрированных пользователей и известных поисковых ботов этот мод не затронет.

 

В версии 3.4.5 нету такова файла sources\classes\class_session.php

подскажите пожалуста решение! Тоже задолбали боты форум

Заранее жму руку



Denis Chursinov
  • Клиенты
  • Cообщений: 661

Отправлено

Файл теперь лежит в admin\sources\classes\session\publicSessions.php . Но он довольно сильно изменился.
Попробуйте поставить задержку при сканировании через robots.txt
Crawl-delay: 5

FatCat
  • Клиенты
  • Cообщений: 3 351
  • http://pharm-forum.ru
  • Город:נצרת עילית

Отправлено

Файл теперь лежит в admin\sources\classes\session\publicSessions.php . Но он довольно сильно изменился.

 

В любом случае есть функция поддерживающая гостевые сессии. То есть, то, что нам нужно: написанный нами код будет выполняться только для гостей, и не будет выполняться у авторизованных пользователей.

 

Теперь нам нужно написать сценарий, не позволяющий с одной гостевой сессии делать множественные запросы. То есть, сравнить время последнего запроса страницы с текущим, и если прошло мало времени, не мучать сервер генерацией страницы, а выдать лёгонькую страницу с "ай-яй-яем".

 

 

Если подходить серьезно, то нужно полностью переписывать алгоритм поддержки сессий, в ИПБ он сделан отвратительно.

Во-первых, нужно гостям проверять отсутствие других сессий с того же айпишника. А то парсер спарсил линки на странице и пошел их запрашивать со скоростью пулемета без куков и без идентификатора сессии в адресной строке. Получаем сотни и сотни сессий с одного айпишника.

Во-вторых, нужно сделать привязку всех сессий к айпишнику; чтобы с другого айпишника нельзя было ввалиться в чужую сессию. Это же вечная дыра в безопасности ИПБ.

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

 

И лишь решив эти проблемы, мы получим достоверные сессии, и сможем регулировать допустимую нагрузку.


  • Arhar это нравится

Kurmus
  • Участники
  • Cообщений: 11
  • http://www.delfim.lv
  • Город:Рига
  • Интересы:Рыбалка

Отправлено

 

Файл теперь лежит в admin\sources\classes\session\publicSessions.php . Но он довольно сильно изменился.

 

В любом случае есть функция поддерживающая гостевые сессии. То есть, то, что нам нужно: написанный нами код будет выполняться только для гостей, и не будет выполняться у авторизованных пользователей.

 

Теперь нам нужно написать сценарий, не позволяющий с одной гостевой сессии делать множественные запросы. То есть, сравнить время последнего запроса страницы с текущим, и если прошло мало времени, не мучать сервер генерацией страницы, а выдать лёгонькую страницу с "ай-яй-яем".

 

 

Если подходить серьезно, то нужно полностью переписывать алгоритм поддержки сессий, в ИПБ он сделан отвратительно.

Во-первых, нужно гостям проверять отсутствие других сессий с того же айпишника. А то парсер спарсил линки на странице и пошел их запрашивать со скоростью пулемета без куков и без идентификатора сессии в адресной строке. Получаем сотни и сотни сессий с одного айпишника.

Во-вторых, нужно сделать привязку всех сессий к айпишнику; чтобы с другого айпишника нельзя было ввалиться в чужую сессию. Это же вечная дыра в безопасности ИПБ.

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

 

И лишь решив эти проблемы, мы получим достоверные сессии, и сможем регулировать допустимую нагрузку.

 

Могу ли я попросить Вас возобнавить доступ к роботс как в етом посте или может есть уже новый?



FatCat
  • Клиенты
  • Cообщений: 3 351
  • http://pharm-forum.ru
  • Город:נצרת עילית

Отправлено

Могу ли я попросить Вас возобнавить доступ к роботс как в етом посте или может есть уже новый?

Я сейчас не поддерживаю этот проект.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных