Перейти к контенту
  • 0

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


Вопрос

Добрый день. Столкнулась с такой проблемой:

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

 

Вот что пишет сам хостер:

У вас сдесь сессия передается не через кукис, а прямо в строке запроса,

потому поисковики бегают по этому форуму кругами дико расходуя ресурсы.

 

Если форум вам не нужен - впишите в его .htaccess

deny from all

 

короче вам нужно чтобы в ссылках на форуме

индекс.пхп?s= 7 8 2 4 6 2 6 6 b 4 8 d 1 5 6 f 0 2 7 6 2 2 e 0 5 2 b 0 2 9 8 ashowforum=2

пропало это самое

s=78246266b48d156f027622e052b0298a

 

(форум нам нужен, вообщето)

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

 

Спасибо заранее.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 126
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Загружено фотографий

Рекомендуемые сообщения

  • 0
Вот блин, понаставишь с дуру и потом нагрузки не будит не какой, но и людишек тоже :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Человек должен понимать что именно и зачем он делает.

У меня на форуме люди делают модификации к играм. Естественно, идёт превью и куча скринов. Всё это потом тупо копипастится на десятки игровых форумов. Запросы к серверу для скачивания скриншотов у меня в пять-шесть раз превышают количество запросов от посетителей на самом форуме.

Приход пользователей из Яндекс-картинок или похожих сервисов до установки защиты был равен НУЛЮ.

Вывод - кроме нагрузки на сервер мне это ничего не даёт. Так какого ... я должен спонсировать ленивых вебмастеров, которые воруют мои материалы, при этом даже не тратя силы на то, чтобы перезалить их к себе? Переходить на более дорогие тарифы у хостера только для того, чтобы обеспечить чужим ресурсам красивые сообщения?

Если у вас форум, а не сервис хранения картинок типа radikal.ru то смело ставьте эту защиту.

Если же у вас графика является основной темой на форуме и к вам приходят потоки посетителей с http://images.yandex.ru/ (в чём я сильно сомневаюсь), то вам такая защита не к чему.

 

Уважаемый FatCat, это тема "Как убрать нагрузку на сервер?". Хот-линк защита является эффективным способом снизить эту самую нагрузку.

Док, просто для информации. Сколько посетителей вы получили с Яндекс-картинок? Хоть один перешёл?

Прежде чем что-то делать, нужно рассмотреть все возможные варианты. Если что-то пойдёт не так, то всегда можно откатить изменения. А если у вас нет проблем с хот-линком, то зачем ставить от него защиту? )).

Изменено пользователем 4apai
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Уважаемый FatCat, это тема "Как убрать нагрузку на сервер?"

Да, конечно.

И защита от личеров картинок можэет быть нужна.

У меня это решено еще проще: юзеры кладут картинки на радикалы-тинипики; в итоге у меня нет запросов картинок с моего сервера, и при этом у меня есть небольшие "потоки посетителей с http://images.yandex.ru/".

Нецелевых процентов 30 от всего трафика из поисковок: http://i40.tinypic.com/4j1bnt.gif

Целевых меньше, процентов 5 может, но все равно 2-3 в день набирается: http://i44.tinypic.com/2uy2mpx.gif

 

Правда, тоже есть проблема с разрешением вставлять картинки с других доменов: небезопасное иногда это дело.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

4apai, я мало что понимаю в этом и поэтому увидев это, раз не кто не опроверг, то поставил себе это
Но толком так и не понял работает она или нет
У меня фоток лежит на форуме 1МБ
Раньше стояла программа, которая с других сайтов забирает фотки и грузит их себе на форум, хорошая прога, если в теме много фоток и тот сайт умер, то и у меня фотки умерли, а без фоток тема пустая
Вот эта полезная прога забирала фотки и теперь если тот сайт умер, то у меня все на месте и не надо в ручную все перетаскивать
Информации много на форуме, но народу не очень, но на сервере постоянно идет превышения памяти, вот и озадачился как снизить нагрузку и пробую все способы
Но ваш поставил и не понял как он работает или работает вообще
Ставил так
В файл .htaccess, внес такие записи

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?remrai.ru [NC] мой сайт
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?remrai.ru [NC] Синонимы моего сайта
RewriteRule \.(jpg|jpeg|png|gif)$ http://forums.ibresource.ru/av-38073.jpg [NC,R,L] Любой сайт с картинкой
Правильно я делал или нет ? Изменено пользователем Док
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если вы ставите комментарии в файле .htaccess, то их нужно закрывать символом # .

Дополню. Чаще всего картинки подменяют на баннер вашего ресурса. То есть строка "Любой сайт с картинкой" обычно содержит url вашего баннера-кнопки-лого. Если вам это не нужно, то можно сделать так:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www)?\.домен\.ru.* [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

В этом случае подмены картинки не происходит, а ваш сервер просто возвращает ошибку. Смысл абсолютно такой же, этот вариант более прост.

 

"Правильно или неправильно" это вопрос к хостеру. На некоторых хостингах использование htaccess вообще запрещено, на некоторых ограничен его функционал. Я так понимаю, что вы не dedicated server арендуете, иначе такой вопрос не возник бы. Я в сообщении на первой странице давал ссылку на сайт, где очень подробно рассказано что такое htaccess и с чем его едят. Очень советую повнимательнее почитать, поскольку этот файл критически важен для правильной работы (или тьфу-тьфу-тьфу горизонтального положения) вашего сайта\форума.

 

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

 

FatCat, у меня скорее обратный вариант. Мне необходимо держать больше 5 гигов графики на сервере. Графика специфическая, под высокочастотные запросы не попадает, поэтому траффик ноль. Поэтому когда хотлинк превысил запросы собственного форума встал вопрос ребром: или платить больше или рубить халявщиков. Ответ очевиден.

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

Изменено пользователем 4apai
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я вот так ставил, без коментариев ( коменты вам написал biggrin.gif )

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?remrai.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?remrai.ru/forums [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://forums.ibresource.ru/av-38073.jpg [NC,R,L]

Я не знаю из за чего идет нагрузка, у меня на главной стоит джомала, там немного тем, как бы для перехода на форум и сам форум
На форуме 1059 тем и 10261 сообщений
Зарегистрировано пользователей: 1069
Рекорд посещаемости форума — 83
Может хостер такой, не знаю
Форум иногда тормозит, (но такое на многих форумах вижу) а так вроде работает нормально, просто каждый день есть ошибка, что не хватка памяти
Вот и озадачился из за этой ошибки, да и хостеру если пишешь, то они пишут что я превышаю память
Скоро нужно продливать Хостинг, вот и думаю как снизить нагрузку и стоит у них оставаться еще или уж сразу съехать по окончание оплаты Изменено пользователем Док
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если вы не можете разобраться что именно является причиной высокой нагрузки, спросите напрямую у хостера, что даёт основную нагрузку - сайт или форум. У них есть логи, можно посмотреть. Если они скажут "оптимизируйте скрипты и думайте сами", то нафига вам такая техподдержка? )))

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

В Joomla включите кеш, gzip (и на форуме тоже не помешает). Память вышибает чаще всего большое количество одновременных коннектов или тяжелые скриптовые запросы.

Из практики могу сказать, что Joomla "кушает" больше ipb при прочих равных условиях. Поэтому если полноценный сайт вам не особенно нужен, пользуйтесь более лёгкими cms типа WordPress, или делайте html странички.

Количество тем, разделов и сообщений фатального значения не имеет. Джумла с тремя статейками просит практически столько же, сколько и с тремя сотнями. Это в принципе касается и форума.

Изменено пользователем 4apai
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я не претендую на звание гуру, я как и все учусь на собственных ошибках.

Аналогично.

Я вообще не программист, а врач; просто жизнь заставила заниматься еще и техническим обеспечением своих форумов.

Я так думаю, на то нам и этот форум, чтобы учиться на ошибках друг друга.

 

 

 

есть ошибка, что не хватка памяти

Умпс!

Большое количество запросов - это увеличение трафика и увеличение нагрузки на процессор, но не увеличение потребляемой памяти - если я правильно понимаю...

Большое потребление памяти возникает при сложных процессах или при обработке большого количества данных одним сценарием. Например, у меня вылетает форум по нехватки памяти, если суммарный объем сообщений на странице превышает 7 Мб (были и такие топики у меня :D ).

 

Может быть дело именно в каком-то огромном сообщении или в топике с несколькими огромными сообщениями на одной странице?

Попробуйте в пхпадмине запрос

SELECT * FROM ibf_jposts ORDER BY length( post ) DESC

и посмотрите самые большие сообщения форума. Может быть их удалить или разбить на несколько? Или перевести в статичный ХТМЛ и прилинковать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Попробуйте в пхпадмине запрос
SELECT * FROM ibf_jposts ORDER BY length( post ) DESC

и посмотрите самые большие сообщения форума. Может быть их удалить или разбить на несколько? Или перевести в статичный ХТМЛ и прилинковать?

Очепятка, таблицы _jpost нет, насколько я помню. Вероятно имелось ввиду

SELECT * FROM ibf_posts ORDER BY length( post ) DESC

 

Доктор FatCat, спасибо за наводку. Смотрю какие "романы в пяти томах" пользователи пишут и потихоньку офигеваю... А некоторые умники их еще и цитируют. Интересно, есть ли возможность ограничить длину сообщения на форуме? Я таким вопросом не задавался.

 

оффтоп

Doc Айболит, посмотрел я на форум\сайт ваш, он достаточно посещаем. Может действительно пора брать тариф повыше? Про хостера вашего ничего сказать не могу, кроме того, что есть дешевле при бОльших ресурсах. Они занимаются регистрацией доменов, хостинг у них не основной бизнес. Но это другая тема.

Изменено пользователем 4apai
Ссылка на комментарий
Поделиться на других сайтах

  • 0

 

 

Если они скажут "оптимизируйте скрипты и думайте сами", то нафига вам такая техподдержка? )))

Так они и говорят, только еще добавляют, что если сами не можете, то наймите кого то

FatCat, у меня вылазеет ошибка, как все описано на форуме на главной, все форумы и подфорумы
Если включаю PHP5.2.9 , то вообще не тянет
Я писал уже, что допустимая память 192 в этом тарифе http://hosting.nic.ru/tariff301.shtml
А у меня в панели показывает, что я использую 670 ( за сутки сегодня )
Если использую до 500, к примеру 420, то ошибки нет, а как выше 500, то в папке каче, есть ошибка всегда
Тех. поддержка говорит, что они сильно не ограничивают, но стоит к ним обратиться с жалобой, что идут торомаза, то туже говорят, что вы превысили лимит и советую оптимизировать скрипты или

 

Для оптимизации нагрузки на веб-сервер, рекомендуем Вам установить
прокси-сервер nginx. Инструкции по установке, Вы можете найти здесь:

http://forum.nic.ru/showthread.php?t=197
У меня было 4 домена и стояло 3 джамолы и один ИПБ
У них написано в тарифе, что до 12 сайтов можно создавать, вот я и разошелся, потом понял, что не 12 сайтов, а 12 страниц можно создать biggrin.gif
Все удалил, осавил только ИПБ и одну джамолу, но нагрузка упала не значительно
Ожидал большего
Удалял джамолу, но делал портал главной страницей и на него поставил 4 мода
Все равно нагрузка не упала особо, понятно что все упирается в форум
Вот и штудирую все темы про снижения нагрузки и пробую все поставить
То что советует хостер не ставил, так как в теме почитал, что много проблем вылетает из за этого
Вот такие вот дела

А вот насчет тем ( сообщений), то это идея, так как у меня есть очень большие сообщения
Думал так будет лучше, чтобы в теме было одно, но большое сообщение, типа таких
http://remrai.ru/forums



Не понял по запросу
Сделал запрос и мне выдало

 

Отображает строки 0 - 29 (10,292 всего, запрос занял 0.3630 сек.)


 

SQL-запрос:
SELECT *
FROM ibf_posts
ORDER BY length( post ) DESC
LIMIT 0 , 30


И выкатило 344 страницы на каждой страницы по 30 тем или сообщений
Что теперь нужно делать ?

Во все эти темы захожу и там написано

 

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


Теперь что их нужно уменьшать ? Изменено пользователем Док
Ссылка на комментарий
Поделиться на других сайтах

  • 0
спасибо за наводку. Смотрю какие "романы в пяти томах" пользователи пишут и потихоньку офигеваю... А некоторые умники их еще и цитируют. Интересно, есть ли возможность ограничить длину сообщения на форуме? Я таким вопросом не задавался.

Где-то в админке есть ограничения размера поста.

А я сделал распределенное хранение: http://forums.ibresource.ru/index.php?s=&a...st&p=342112

 

 

Я писал уже, что допустимая память 192 в этом тарифе

Фигасе!

Я отлаживал движок, когда у меня было ШЕСТЬ всего... Сейчас 24, чувствую себя Крезом.

 

 

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

изменение может быть затруднено

Теперь что их нужно уменьшать ?

Вот-вот!

Эти-то и надо порезать. Или скинуть во внешний файл.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

FatCat, ты наверное имеешь в виду запросы ?

Вот это

Фигасе!

Я отлаживал движок, когда у меня было ШЕСТЬ всего... Сейчас 24, чувствую себя Крезом.

 

А то у меня на главной 21 запрос

 

Но наверное у меня проблема из за больших сообщений, надо теперь лопатить

Или скинуть во внешний файл.

А это как ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Например в джаваскрипт, и пусть грузит машину пользователя, а не сервер. http://forums.ibresource.ru/index.php?showtopic=45438 я об этом писал.

 

Можно вручную сохранить страницу как ХТМЛ, закинуть по ФТП, а в топике только дать линк...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

FatCat, спасибо

Глаза немного отдохнут и начну лопатить, а то уже из орбит зеньки вылазят, от форумов :D

Ссылка на комментарий
Поделиться на других сайтах

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

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

У меня капча вообще не включена, только цифры и они тоже не отображались

Включил капчу, то она тоже не отображается, но если на нее нажать, то рисунок появлялся

А вот с цифрами хуже

В эксплоере стоят крестики, а в мозиле надпись, что включите цифры или что то такое

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Этот код конфликтует с каптчей? Чрезвычайно любопытно...

ОК, убери эту проверку на странице регистрации:

 

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 ) );}}

Ссылка на комментарий
Поделиться на других сайтах

  • 0

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

а если убрать защиту с регистрации - получится достаточно сделать так, чтобы спам скрипт ломился на страницу регистрации

 

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0

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

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

 

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

Изменено пользователем 4apai
Ссылка на комментарий
Поделиться на других сайтах

  • 0

4apai, у меня 2.3.5 стоит

Мне человек прислал письмо, что цифр не в водить, я пошел смотреть и правда их нет

У меня капча не стоит, включил ее, все равно не отображается

Долго мучился, пока не сообразил эту заплатку убрать, ее убрал и все появилось

Но так и не понял, она у меня стояла давно, но люди то регились, не много, но все же

Вот такая ерунда

Ссылка на комментарий
Поделиться на других сайтах

  • 0

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

Кстати, это можно и программно реализовать для страницы регистрации:

$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
Ссылка на комментарий
Поделиться на других сайтах

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

Кстати, это можно и программно реализовать для страницы регистрации:

$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

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

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0
а вообще, в какой файл нужно вставлять этот код?
sources\classes\class_session.php

Найти:

	function update_guest_session()
{

и добавить ниже

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Arhar

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

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.