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


Фотография

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

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 126
Док
  • Участники
  • Cообщений: 1 212
  • http://www.remrai.ru/
  • Город:Москва
  • Интересы:Занимаюсь автомобилями,создал форум http://www.remrai.ru по Авто помощи и консультации.

Отправлено

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

Я дал айпишники не поисковых ботов, а самых злобных парсеров, выявленных на моих серврерах за последние 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" можно попробовать другие цифры. Чем больше цифра, тем меньше нагрузка на сервер, но тем больше гостей будет получать предупреждение при быстром листании страниц:

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


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

Блин, поставил эту заплатку, а с ней оказалась проблема, не отображалась капча и не кто не мог зарегиться
Спасибо написали, а то так и не знал бы и думал почему не кто не региться :D

FatCat, из за чего такое может быть ?
У меня капча вообще не включена, только цифры и они тоже не отображались
Включил капчу, то она тоже не отображается, но если на нее нажать, то рисунок появлялся
А вот с цифрами хуже
В эксплоере стоят крестики, а в мозиле надпись, что включите цифры или что то такое

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

Отправлено

Этот код конфликтует с каптчей? Чрезвычайно любопытно...
ОК, убери эту проверку на странице регистрации:

if($ipsclass->input['act'] != "reg"){if(($this->time_now - $this->last_click) < 5){$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'server_too_busy', 'INIT' => 1 ) );}}


Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

точно конфликтует, потому как на странице регистрации капча идет в img src, а это значит - капча открывается в ту же секунду, что и страница регистрации - две страницы сразу, просто в одной из них вываливается только картинка
а если убрать защиту с регистрации - получится достаточно сделать так, чтобы спам скрипт ломился на страницу регистрации

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

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

Отправлено

а если убрать защиту с регистрации

А если убрать защиту с каптчи? :D

4apai
  • Клиенты
  • Cообщений: 11

Отправлено

Странно, но я никаких проблем с регистрацией не имею. Re-капча отображается без проблем...

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


Полезные поисковые боты внесены в список и на них защита не сработает. А левые боты как раз нам и не нужны.

Сообщение отредактировал 4apai: 03 Июнь 2009 - 23:26


Док
  • Участники
  • Cообщений: 1 212
  • http://www.remrai.ru/
  • Город:Москва
  • Интересы:Занимаюсь автомобилями,создал форум http://www.remrai.ru по Авто помощи и консультации.

Отправлено

4apai, у меня 2.3.5 стоит
Мне человек прислал письмо, что цифр не в водить, я пошел смотреть и правда их нет
У меня капча не стоит, включил ее, все равно не отображается
Долго мучился, пока не сообразил эту заплатку убрать, ее убрал и все появилось
Но так и не понял, она у меня стояла давно, но люди то регились, не много, но все же
Вот такая ерунда

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

Отправлено

Если у пользователя медленный интернет, то интервал времени от запроса страницы регистрации до запроса каптчи может быть довольно большой: время загрузки страницы до кода каптчи.
Кстати, это можно и программно реализовать для страницы регистрации:
$no_duble_click = 5;
if(($this->time_now - $this->last_click) < $no_duble_click)$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'server_too_busy', 'INIT' => 1 ) );
if($ipsclass->input['act'] == "reg")sleep($no_duble_click);
Это тоже некрасивое решение, но по идее должно работать.

Сообщение отредактировал FatCat: 04 Июнь 2009 - 21:28


dian@
  • Участники
  • Cообщений: 12

Отправлено

Если у пользователя медленный интернет, то интервал времени от запроса страницы регистрации до запроса каптчи может быть довольно большой: время загрузки страницы до кода каптчи.
Кстати, это можно и программно реализовать для страницы регистрации:

$no_duble_click = 5;
if(($this->time_now - $this->last_click) < $no_duble_click)
{
	if($ipsclass->input['act'] == "reg")sleep($no_duble_click);
	$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'server_too_busy', 'INIT' => 1 ) );
}
Это тоже некрасивое решение, но по идее должно работать.


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

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

Отправлено

а вообще, в какой файл нужно вставлять этот код?

sources\classes\class_session.php
Найти:

function update_guest_session()
	{
и добавить ниже



Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

нет, стоп
условие выполняется, после чего идет сон, но ошибка выдается
сон должен идти вне условия

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

Отправлено

Arhar
Ага, точно! Сейчас подредактирую в своем посте, чтобы кто-нибудь случайно не копипастнул неправильный код.

4apai
  • Клиенты
  • Cообщений: 11

Отправлено

Проверил всё что можно...
Глюков вроде нигде нет. Исключение - при "выходе" из аккаунта выкидывает "сервер занят". Но при этом выход происходит. Ошибка некритичная... Но для чистоты эффекта может добавить в код исключение для act=Login? Пользователи часто набивают логин\пароль с пулемётной скоростью.

Время клика стоит 1 сек. ( $no_duble_click = 1; ), имхо в самый раз. Вредные боты фигачат гораздо чаще, гостю-человеку вполне комфортно.

В сообщении "сервер занят" (файл /cache/lang_cache/ru/lang_error.php) я руками дописал возможную причину ошибки:

'server_too_busy' =>

"Сервер не может в данное время выполнить ваш запрос.
Попробуйте обновить страницу в браузере.
Появление этой ошибки возможно связано с тем, что вы слишком часто кликаете по форуму и сервер может принять Вас за бота. Время между кликами не должно быть менее 1 секунды.
Пожалуйста авторизуйтесь или зарегистрируйтесь, чтобы снять это ограничение."

Лишний повод для пользователя пройти регистрацию )).

Из глупых предположений... Спам-бот при регистрации с какой скоростью кликает?

Сообщение отредактировал 4apai: 04 Июнь 2009 - 23:38


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

Отправлено

Глюков вроде нигде нет. Исключение - при "выходе" из аккаунта выкидывает "сервер занят". Но при этом выход происходит. Ошибка некритичная...

Там редирект без ожидания.
У меня другая реализация этого же алгоритма, тоже выскакивают предупреждения о недопустимости двойных кликов.


Из глупых предположений... Спам-бот при регистрации с какой скоростью кликает?

От спамботов нужна другая защита. Эта лишь для личботов работает.

Док
  • Участники
  • Cообщений: 1 212
  • http://www.remrai.ru/
  • Город:Москва
  • Интересы:Занимаюсь автомобилями,создал форум http://www.remrai.ru по Авто помощи и консультации.

Отправлено

FatCat, так ты поправил код и с того сообщения можно пробовать ставить ?

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

Отправлено

Да, в сообщении #47 код поправлен.

Egor.M
  • Участники
  • Cообщений: 61
  • http://laracroft.ru

Отправлено

Спасибо за объясниния и за теме. Как раз на Нике (тариф 301) с перегрузкой по оперативе столкнулся... вернее, часто всё просто отваливалось и сайт и форум не были доступны в прайм-тайм, да и не только... по 20-30 мин. в день... В саппорте долго не могли объяснить причину проблем. В конце-концов выяснилось, что проблема в перегрузке оперативы... Судя по графику, порой достигает 700-750Мб, при лимите в 192 Мб. Хотя, из скриптов только форум средней посещаемости... Вот и не знаю, толи хостинг мутит, толи надо серьёзно браться за оптимизацию форума.
Попробую реализовать что-то из предложенного в этой теме, отпишусь. Надеюсь, обсуждение данной проблемы не умрёт, хотелось бы услышать ещё советы и мнения.

Док
  • Участники
  • Cообщений: 1 212
  • http://www.remrai.ru/
  • Город:Москва
  • Интересы:Занимаюсь автомобилями,создал форум http://www.remrai.ru по Авто помощи и консультации.

Отправлено

Egor.M, у меня тот же тариф и тот же хостинг, но до 700-750Мб я не доходил, но до 500-600 частенько
Сейчас вроде снизилась нагрузка
Но я все большие сообщения разбил на маленькие и поставил некоторые запладки из этой темы, как советовали
Сейчас иногда превышает за сутки 500МБ, но пару раз, а то было постоянно выше

Egor.M
  • Участники
  • Cообщений: 61
  • http://laracroft.ru

Отправлено

Док, а как именно разбил сообщения? И что именно посоветуете поставить из этой темы, раз уж уже испытали всё, чтобы мне не всё сразу не тестить?

В саппорте всем советуют ставить ngnix, отключать лишнее модули, смотреть, что сколько занимает памяти (используя SSH). Модули многие отключил, да эффекта не так много... На счёт ngnix, даже не знаю...

Интересно, сколько на других хостингах средний форум занимает памяти? (Если верить счётчикам, то у меня где-то 5000-5500 просмотров страниц форума в сутки, ~250 сообщений в день).

Док
  • Участники
  • Cообщений: 1 212
  • http://www.remrai.ru/
  • Город:Москва
  • Интересы:Занимаюсь автомобилями,создал форум http://www.remrai.ru по Авто помощи и консультации.

Отправлено

Но у вас уже серьезный форум, у меня очень мало народу и сообщений
Вообще наверное это хостер хитрит, так как у меня было 4 сайта на одном тарифе
2 было на джамале и 2 на ИПБ, так нагрузка была 520 памяти
Все удалил и оставил 1 джамалу и один ИПБ, так нагрузка стала 490, а иногда и за 500 валит
Поставил я из этой темы htaccess, то что советовали там прописать и robots взял из темы
Вчера был скачек на 510 памяти, а так в пределах 400, но у меня народу на форуме 5 пользователей и также гостей, одновременное прибывание
Но с robots я перестарался и из за него меня перестали сканировать, за сутки Google Bot 9, MSN Bot 6, Yahoo Bot 4, яндекс вообще пропал
Сегодня изменил robots, посмотрим что будет дальше

На форуме 5 человек и время 12 ночи, а то и 3 человека было, так у меня показало использования памяти 508 и сразу в логах выдало ошибку
Код ошибки: 2006
 Сообщение сервера: MySQL server has gone away
 IP-адрес клиента: 87.118.94.70
 Страница: /forums/index.php?showforum=12
 Запрос: UPDATE ibf_cache_store SET cs_array=1,cs_value='a:43:{i:1;a:7:{s:2:\"id\";s:1:\"1\";s:12:\"sub_can_post\";s:1:\"0\";s:4:\"name\";s:5:\"Гараж\";s:9:\"parent_id\";s:2:\"-1

Поэтому так думаю, что это хостер хитрит
Использую PHP4.4.9, а если включаю PHP5.2.9 , то сразу зашкаливает за 500 использования памяти
Видимо для него Ипб слишком тяжолый

Так что из темы вам снизит максимум 50-100 использования памяти, но до нормы, как положено 192МБ, все равно не поможет
У меня даже ночью в 04.00 и то показывает 250мб

А сообщения у меня были очень большие, так как у меня технический форум и все делал в одном сообщение
У вас не думаю что есть такие большые, тут есть в теме ссылка на сообщение, вот оно сейчас разбито на 3 или 4, а было одно
Можете глянуть на предыдущих страница

Вот мои показатели, это за год
Прикрепленный файл  ram_year.gif   11,04К   13 скачиваний
А это за неделю
Прикрепленный файл  ram_week.gif   8,87К   9 скачиваний

За месяц
Прикрепленный файл  ram_month.gif   15,64К   10 скачиваний
За сутки
Прикрепленный файл  ram_day.gif   13,34К   8 скачиваний

Сообщение отредактировал Док: 09 Июнь 2009 - 18:58


Egor.M
  • Участники
  • Cообщений: 61
  • http://laracroft.ru

Отправлено

Док, вот, и у меня в логах такая же ерунда получается... (Код 2006) Я так понимаю, из-за перегрузок какой-то таймаут соединения случается...

В данный момент, из скриптов вообще только IPB... Сейчас 12-15 юзеров онлайн, + 5-8 гостей (не самый посещаемый день или я что-то перемудрил), несколько определившихся ботов... память уже ближе к 480-500... То есть, ещё чуть-чуть и перегруз. Речи о 192 и быть не может.

Пока отключил лишние модули апача, в настройках форума убрал запись посещений ботов. Кстати, включил gzip_module в настройках апача (он по умолчанию офф).
Юзер-агенты роботов давно прописаны, пока не менял. Вот, менять роботс.тхт действительно стрёмно... В теме видел пример, там значится:

Disallow: /board/lofiversion/
Disallow: /board/index.php?act=idx
Эти строки, я так понял, запрещают индексировать текстовую версию (она же хорошо съедается вроде) и idx - это же главная страница форума? Я, правда, не оч. сильно в этом разбираюсь, надеюсь, меня поправят, если что.

Прикрепленный файл  ram_day.gif   13,16К   5 скачиваний




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

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