Здравствуйте.
После того как администрация хостинга Ukraine.com.ua сказала, что мой сайт создает большую нагрузку на их сервер, мне пришлось перейти на VPS со следующими параметрами: CPU 2.6 GHz, SSD 20 GB, ОЗУ 512 МБ.
На сервер с Debian 6.1 установил Apache2-2.2.16-6+squeeze11, Mysql-server-5.1-5.1.66-0+squeeze1, nginx-0.7.67-3+squeeze3, php5-5.3.3-7+squeeze17. ПХП работает как модуль апача.
Все ПО ставилось автоматом через ISPmanager.
Сразу скажу, что я не очень силён в настройках сервера, но полазив на форумах немного разобрался.
И вот что заметил: сервер часто зависает, и как мне кажется, это через MySQL, так как уже несколько раз были случаи когда после длительного "висяка" (писало соединение утеряно) апач всетаки просыпался и при попытке войти на сайт писало что-то типа "Соединение с MySQL утеряно, проверьте настройки settings.php".
Однажды я смог подключиться к серверу через SSH в момент зависания и заметил, что было очень много процессов Apache, хотя в настройках prefork-mpm указано ограничение. Похоже что после длительного "висяка" апач приходит в себя, а вот MySQL по какой-то причине отключается.
В обычном состоянии все спокойно, количество процессов апача не превышает указанное в настройках колличество, в MySQL никакие процессы не висят... Нагрузка на проц не превышает 40%.
В админке VPS в статистике заметил, что в момент зависания идёт постоянная запись какой-то информации на диск (с большой скоростью и без перерыва. Запись прекращается только после перезагрузки сервера и то не всегда с первого раза. Что там пишется так и не понял... Такие проблемы возникают как днем, когда посещаемость выше, так и ночью, когда посетителей мало. В кроне снял практически все операции, но всеравно сервер зависает.
В настройках nginx включен keepalive_timeout 20, в настройках Apache keep_alive = Off (выключен) так как где-то читал что не желательно, чтобы они были включены и в апаче и nginx. Уже 20 раз менял настройки my.cnf и ничего не помагает.
Php_memory_limit установил в 192 МБ (пробовал разные значения).
На сайте днем в среднем в онлайне около 55 посетителей. Не знаю, может оперативки мало. Это мой первый ВПС, по-этому ещё не знаю сколько чего нужно.
Прикрепил скрин с командой TOP отсортированной по количеству потребляемой памяти и скрин с командой show full processlist.
Также смогу предоставить любую необходимую вам информацию.
Надеюсь на Вашу помощь. Заранее благодарен.
Комментарии
В логе ошибок апача заметил множество таких записей:
[Fri Sep 06 07:20:08 2013] [error] [client 115.236.96.42] PHP Warning: MySQL server has gone away\nquery: INSERT INTO watchdog\n (uid, type, message, variables, severity, link, location, referer, hostname, timestamp)\n VALUES\n (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\\"%error\\";s:12:\\"user warning\\";s:8:\\"%message\\";s:87:\\"MySQL server has gone away\\nquery: DELETE FROM cache WHERE cid LIKE 'locale:%'\\";s:5:\\"%file\\";s:62:\\"/var/www/sirko89/data/www/androids-team.com/includes/cache.inc\\";s:5:\\"%line\\";i:178;}', 3, '', 'http://wallpapers-desktop.net/index.php/funny', 'http://wallpapers-desktop.net/', '115.236.96.42', 1378441208) in /var/www/sirko89/data/www/androids-team.com/includes/database.mysqli.inc on line 134, referer: http://wallpapers-desktop.net/
скорее всего острая нехватка памяти, система начинает свапить.
наращивайте память или ищите грамотного админа для оптимизации
у них vps не настроенные, я оттуда свинтил и деньги забрал - вернули(есть у них такая фишка - возврат) Ищите есть нормальные конторы где вам сервер настроят , украинский сервис это даун-сервис.
Спасибо за совет. Тоже заподозрил их в предоставлении некачественного сервиса, так как уже дважды за две недели были зависания всего сервера по их причине (мне потом письма приходили с якобы извинениями за принесенные неудобства).
Только что сменил тарифный план на 768 МБ оперативки, 25 ГБ SSD и CPU 2x2.6 GHz - если и после этого будет виснуть, то скорее всего сменю хостера.
Была та же ситуация с greengeeks, но я не перешщел на ВПС, а послал их всех, забрал деньги и перешел на it-patrol, теперь сайты летают.
Пока что, с момента смены тарифного плана, небыло ни одного зависания. Надеюсь что и не будет)
не знаю у меня на миним тарифе висит 10 сайтов друпала на vps и ничего не виснет, конечно если не очень много посетителей.
а сколько платите за VPS?
10$
За тариф с 768 МБ оперативки заплатил 205 грн
Минимальный тариф 90 грн с 256 Мб оперативки
ИМХО глупо отдавать ~840 рублей, за VPS с оверселом если за ~880 можно взять б/у Athlon 3700,2GB,2x300GB.
Я плачу 10$ - Xeon E5645, 1200 МГц, ОЗУ 500 МБ.
а за 19$ - 1700 МГц, ОЗУ 1000 МБ.