Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Чт Сен 18, 2008 5:14 pm Заголовок сообщения: определение нагрузки |
|
|
перед блокировкой аккаунтов снимки текущих процессов
ps avx > /home/vlasr/ps.txt ; scores > /home/vlasr/scores.txt ; scoreboard > /home/vlasr/scoreboard.txt ; /usr/sbin/exim -bp > /home/vlasr/exim.txt
список дополнится.
поиск нарушителя кторый отличился в топе
grep login\domain /home/vlasr/ps.txt
grep login\domain /home/vlasr/scoreboard.txt
grep login\domain /home/vlasr/exim.txt |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Dec 12, 2008 12:52 pm Заголовок сообщения: |
|
|
подробная поминутная статистика
/root/system-snapshot/ |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Янв 23, 2009 9:44 pm Заголовок сообщения: |
|
|
считать соединения при работающем nginx
netstat -n|grep :85|wc -l |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Янв 23, 2009 9:48 pm Заголовок сообщения: |
|
|
netstat -plan|grep :80| awk {'print $5'} |cut -d: -f 1|sort|uniq -c|sort -n
подсчет открытых конектов с каждого ip
Последний раз редактировалось: admin (Вт Ноя 17, 2009 10:47 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Чт Фев 12, 2009 3:08 pm Заголовок сообщения: |
|
|
Логи
exim > /var/log/exim_mainlog
top > /var/log/dcpumon/
nagios > /usr/local/nagios/var/procs/
access log > /home/USERDIR/access-logs/USERDOMAIN
/var/log/nginx/error.log
/var/log/nginx/access.log
/usr/local/apache/domlogs/USERDOMAIN
/usr/local/nagios/var/procs/ps.log
/home/USER/access-logs/DOMAIN
/etc/httpd/logs/error_log лог апача
/etc/httpd/logs/access_log лог апача
Последний раз редактировалось: admin (Вс Апр 19, 2009 12:31 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Ср Апр 08, 2009 2:41 pm Заголовок сообщения: |
|
|
определение скрипта нагрузчика
/etc/init.d/httpd fullstatus|grep -A 1 PID
PID смотрим в топе с большим к-вом % |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Сб Июн 06, 2009 11:58 pm Заголовок сообщения: |
|
|
Последние строки Apache Error:
tail -f /usr/local/apache/logs/error_log |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Фев 10, 2012 12:10 am Заголовок сообщения: |
|
|
ps axfu |awk '$8 ~ /D/'
Выдать 10 процессов, потребляющих наибольшее количество памяти
# ps -auxf | sort -nr -k 4 | head -10
Выдать 10 процессов, потребляющих наибольший ресурс процессора
# ps -auxf | sort -nr -k 3 | head -10 |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Чт Фев 16, 2012 11:48 am Заголовок сообщения: |
|
|
http://foxi.biz/snizaem-nagruzku-na-server-na-90-protentov.html
Снижаем нагрузку на сервер на 90 процентов
айт создает высокую нагрузку на сервер - наверное вам приходилось слышать эти слова от вашего хостера, от нагрузки никуда не уйдешь, но ее можно уменьшить, причем очень заметно. И уменьшая нагрузку на сервер, создаваемую сайтом - вы уменьшаете свои затраты на хостинг, vds, аренду выделенного сервера...
Далее хочу рассказать о методах, позволяющих снизить нагрузку до 90% от первоначальной. При этом вам не понадобятся знания администрирования сервера, root доступ к серверу и знание прочих "высоких технологий", все будем делаться на пользовательском уровне.
Для начала разберемся что такое нагрузка и откуда она берется. Под нагрузкой понимается высокий расход оперативной памяти сервером, нагрузка на процессор (процессорное время), а также нагрузка на интернет канал. Вот эти параметры мы и будем разгружать. Кто создает нагрузку? Нет, не посетители! На среднестатистическом сайте посетители (люди) создают процентов 5-10 нагрузки, остальные ресурсы съедают боты (поисковые и прочие). Вот в отношении их мы и будем наводить порядок, наша задача будет состоять в том, чтоб на сайт не ходили "плохие и бесполезные" боты, т.е. уменьшаем по максимуму реальную (ботовую) посещаемость сайта...
Для наглядности подсчета будем считать исходную нагрузку 100 условных пунктов. Кстати, все выводы, проценты и наблюдения были сделаны после 3 месяцев наблюдения (и экспериментов) за примерно 200 сайтами. Также хочу уточнить, что чем больше на сайте страниц и чем сайт старше и раскрученнее - тем больше на нем ботовая посещаемость и рекомендации описание ниже будут давать более заметный эффект.
1) Первый способ снижения нагрузки - определиться с главным зеркалом сайта. Скорей всего ваш сайт доступен по двум адресам - с www и без. Большинство ботов (кроме самых умных - Яндекса и Гугла) считают что это два разных сайта, а значит и выкачивают ваш сайт по два раза. Наша задача - решить какой URL сайта оставлять, а с какого сделать 301 редирект на главное зеркало. Для примера идем по ссылке вида: http://webmaster.yandex.ru/check.xml?hostname=www.foxi.biz (вместо www.foxi.biz поставить ваш сайт) и видим: Сайт является зеркалом foxi.biz. Значит в нашем случае будем делать главным зеркалом домен foxi.biz, а с www.foxi.biz сделаем 301 редирект. Редирект этот делается с помощью .htaccess
Если вы желаете, чтоб главным доменом был сайт без www, то в .htaccess который лежит у вас в корне (если его там не лежит, то создать) пишите такое:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.foxi.biz$ [NC]
RewriteRule ^(.*)$ http://foxi.biz/$1 [R=301,L]
Вместо foxi.biz естественно прописать нужно ваш сайт. Адрес с www достаточно быстро переклеится на вид без www, все SEO показатели также склеятся (суммируются) достаточно быстро.
Если вашим главным доменом будет домен с www - то в .htaccess писать:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^foxi.biz$ [NC]
RewriteRule ^(.*)$ http://www.foxi.biz/$1 [R=301,L]
Также не забывайте указать главный домен в файле robots.txt. Такая принудительная склейка зеркал заметно снижает посещаемость сайта ботами (им теперь не нужно по 2 раза выкачивать один и тот же сайт), в среднем это снимет 20 пунктов нагрузки с сайта.
2) Второй способ - robots.txt, в него обязательно прописать (для яндекса) главный домен, а также (для всех ботов) закрыть от индексации все бесполезные страницы (часто это страницы списка пользователей, внутренние дубли страниц, поиск по сайту, страницы тегов, pda и print версии сайта и т.п.). Если таких "мусорных" страниц на вашем сайте было много - то и нагрузка снизится заметно.
3) Третий способ оптимизации - "именной бан". Достаточно действенный способ, с помощью .htaccess блокируем полностью доступ к сайту ботам по их именам. Для этого в .htaccess прописываем:
## Блокировка по USER AGENT:
RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} Java [OR]
RewriteCond %{HTTP_USER_AGENT} NjuiceBot [OR]
RewriteCond %{HTTP_USER_AGENT} Gigabot [OR]
RewriteCond %{HTTP_USER_AGENT} Baiduspider [OR]
RewriteCond %{HTTP_USER_AGENT} JS-Kit [OR]
RewriteCond %{HTTP_USER_AGENT} Voyager [OR]
RewriteCond %{HTTP_USER_AGENT} PostRank [OR]
RewriteCond %{HTTP_USER_AGENT} PycURL [OR]
RewriteCond %{HTTP_USER_AGENT} Aport [OR]
RewriteCond %{HTTP_USER_AGENT} ia_archiver [OR]
RewriteCond %{HTTP_USER_AGENT} DotBot [OR]
RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR]
RewriteCond %{HTTP_USER_AGENT} larbin [OR]
RewriteCond %{HTTP_USER_AGENT} Butterfly [OR]
RewriteCond %{HTTP_USER_AGENT} libwww [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} SWeb [OR]
RewriteCond %{HTTP_USER_AGENT} LinkExchanger [OR]
RewriteCond %{HTTP_USER_AGENT} Soup [OR]
RewriteCond %{HTTP_USER_AGENT} WordPress [OR]
RewriteCond %{HTTP_USER_AGENT} PHP/ [OR]
RewriteCond %{HTTP_USER_AGENT} spbot [OR]
RewriteCond %{HTTP_USER_AGENT} MLBot [OR]
RewriteCond %{HTTP_USER_AGENT} InternetSeer [OR]
RewriteCond %{HTTP_USER_AGENT} FairShare [OR]
RewriteCond %{HTTP_USER_AGENT} Yeti [OR]
RewriteCond %{HTTP_USER_AGENT} Birubot [OR]
RewriteCond %{HTTP_USER_AGENT} YottosBot [OR]
RewriteCond %{HTTP_USER_AGENT} gold\ crawler [OR]
RewriteCond %{HTTP_USER_AGENT} Linguee [OR]
RewriteCond %{HTTP_USER_AGENT} Ezooms [OR]
RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR]
RewriteCond %{HTTP_USER_AGENT} Purebot [OR]
RewriteCond %{HTTP_USER_AGENT} User-Agent [OR]
RewriteCond %{HTTP_USER_AGENT} kmSearchBot [OR]
RewriteCond %{HTTP_USER_AGENT} SiteBot [OR]
RewriteCond %{HTTP_USER_AGENT} CamontSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ptd-crawler [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} suggybot [OR]
RewriteCond %{HTTP_USER_AGENT} ttCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} Nutch [OR]
RewriteCond %{HTTP_USER_AGENT} Zeus
RewriteRule ^(.*)$ – [F,L]
Также в этот список можно добавить ботов: bingbot, msnbot, Slurp, для русскоязычных сайтов от них пользы мало, трафика почти нету, а Yahoo (Slurp) нагрузку создает огромнейшую, т.к. очень активный и агрессивный. Даже без блокировки Yahoo и Bing - этот способ уменьшит посещаемость ботами примерно на 40 условных пунктов. Также неплохо было бы следить за серверной статистикой и отслеживать других активных ботов, т.к. у меня этот список периодически пополняется.
4) Четвертый способ - блокировка по IP. Тут вам придется вести логи активности ip адресов или анализировать серверные логи, и банить ip адреса безымянных активных ботов, в основном это парсеры (автоматические воры контента и т.п.) и в большинстве случаев их ip принадлежат хостинг провайдерам, заметили активный ip, посмотрите whois ip адреса, например вот так http://whois.domaintools.com/83.222.14.3 и если там явно указан хостер - смело можно всю подсеть банить через .htaccess (каждый ip построчно в виде: deny from 83.222.14.). Очень много таких неизвестных ботов-парсеров, а также спам-ботов идет с российских хостингов: Мастерхост, Агава, Руцентр, Можордомо, также Китай, Турцию и т.п. страны третьего мира можно банить сразу всю подсеть... Мне после таких периодических банов удавалось снизить активность заметно. Данный способ дает минимум 10 пунктов снижения нагрузки.
5) Пятый способ - баним примитивных самописных ботов, такие боты имеют отличие - у них ничего не написано в HTTP_USER_AGENT и HTTP_REFERER, если оба условия верны - блокируем. Я это делаю средствами php, в самое начало скриптов (до вызова конфигов, подключений к базе и т.п. тяжелых процессов) вставляю код:
if ($_SERVER["HTTP_REFERER"] == '' AND $_SERVER["HTTP_USER_AGENT"] == '') {die('Bad bot');}
В определенных условиях это дает до 10 пунктов снижения нагрузки.
Вот как бы и все. Такие кажется на первый взгляд простые и примитивные методы, а количество посещений сайта ботами снижается на 80-90% (и соответственно нагрузка падает очень заметно), при этом сайт ни в чем не страдает и не ущемляется, т.е. можно не бояться, что поисковики начнут к сайту плохо относиться, даже наоборот, способы № 1 и 2 - можно отнести к внутренней оптимизации сайта... Если у вас многостраничные сайты (от нескольких тысяч страниц) или сайтов много - вам обязательно нужно проделать вышеописанное, и возможно вместо выделенного сервера за 200$ в месяц - вам хватит обычного шаред хостинга за 20$ ...
Если вы хостер - рекомендуется данные рекомендации довести до ваших клиентов сэкономите нервы и ресурсы сервера. Надеюсь не зря почти 9000 знаков текста написал, активнее ставьте ссылки на данную страницу, делитесь ссылкой с друзьями, а я еще что-нибудь интересное напишу... |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|