У меня есть VPS с ограничением 2 ГБ оперативной памяти и 8 ядер процессора.
У меня есть 5 сайтов на этом VPS (один из них только для тестирования, кроме меня посетителей нет). Все 5 сайтов представляют собой галереи изображений, как и сайты обоев. На прошлой неделе я заметил проблему на одном сайте (основной домен, используемый для серверов имен, а также с наибольшим трафиком, посетителей). На этом сайте есть две галереи изображений, одна - это старая статическая html-галерея, созданная несколько лет назад, а другая, основная, работает на ZENPhoto CMS. Также у меня есть та же галерея CMS на двух других сайтах на том же VPS (на одном работающем сайте и на одном только для тестирования). На двух других сайтах у меня другая галерея, управляемая PHP.
Проблема в том, что через некоторое время (от 10 минут до нескольких часов после перезапуска apache) загрузка страниц на основном сайте становится очень медленной, или я получаю сообщение об ошибке 503 Service Tempoporary Unavailable. Таким образом страницы становятся недоступными. Но именно эта часть с новой галереей CMS, старая часть сайта со статическими html-страницами работает быстро и нормально. Также два других сайта с той же галереей CMS и два других сайта с другой галереей, управляемой PHP, работают нормально и быстро одновременно. Я подумал, что это должно быть что-то с CMS на этом основном сайте, потому что другие сайты работают хорошо. Затем я попытался открыть страницы контактов и гостевых книг на этом основном сайте, которые находятся за пределами этой CMS, но также и страницы PHP, и они тоже не загружаются, но те же самые контактные скрипты php работают на других сайтах одновременно.
Итак, когда сайт начинает зависать, ТОЛЬКО контент, созданный PHP, не работает, как я уже сказал, работают другие статические страницы. И ТОЛЬКО на этом главном сайте у меня проблемы. Затем мне нужно перезапустить Apache, после перезапуска все работает хорошо и быстро, в течение некоторого времени, опять же, только страницы PHP на основном сайте становятся медленнее. Если я не перезапущу apache, эта медлительность займет некоторое время (несколько минут, часов, в зависимости от трафика), и в течение этого времени содержимое погружения PHP загружается очень медленно или недоступно на этом сайте. Спустя какое-то время, в какие-то моменты все начинает работать и какое-то время снова быстро, и снова. В часы с большим объемом трафика PHP-контент загружается медленно или недоступен, в часы с меньшим объемом трафика он иногда выполняется быстрее, а иногда немного медленнее, чем обычно. И снова, только на этом основном сайте и только на страницах, управляемых PHP, статические страницы работают быстро даже в большинство часов трафика, также быстро работают другие сайты с такой же CMS.
В настоящее время у меня около 7000 уникальных посетителей на этом сайте, но сайт хорошо работал даже при 11500 посетителей в день. И всего около 17000 посетителей на VPS, всех сайтах (около 3 страниц на уникального посетителя).
Когда сайт иногда начинает тормозить в статусе apache, я вижу что-то вроде этого:
Статус mod_fcgid:
Всего процессов FastCGI: 37
Процесс: php5 (/ usr / local / cpanel / cgi-sys / php5) Состояние активного простоя Pid-доступа
11300 39 28 7 Рабочие
11274 47 28 7 Рабочий
11296 40 29 3 Рабочий
11283 45 30 3 Рабочий
11304 36 31 1 Рабочий
11282 46 32 3 Рабочие
11292 42 33 1 Рабочий
11289 44 34 1 Рабочий
11305 35 35 0 Рабочий
11273 48 36 2 Рабочий
11280 47 39 1 Рабочий
10125133 40 12 Выход (ошибка связи)
11294 41 41 1 Выход (ошибка связи)
11277 47 42 2 Выход (ошибка связи)
11291 43 43 1 Выход (ошибка связи)
10187108 43 10 Выход (ошибка связи)
10209 95 44 7 Выход (ошибка связи)
10171113 44 5 Выход (ошибка связи)
11275 47 47 1 Выход (ошибка связи)
10144125 48 8 Выход (ошибка связи)
10086149 48 20 Выход (ошибка связи)
10212 94 49 5 Выход (ошибка связи)
10158118 49 5 Выход (ошибка связи)
10169114 50 4 Выход (ошибка связи)
10105141 50 16 Выход (ошибка связи)
10094146 50 15 Выход (ошибка связи)
10115139 51 17 Выход (ошибка связи)
10213 93 51 9 Выход (ошибка связи)
10197103 51 7 Выход (ошибка связи)
Процесс: php5 (/ usr / local / cpanel / cgi-sys / php5) Состояние активного простоя Pid-доступа
7983 1079 2149 Готово
7979 1079 11151 Готово
Процесс: php5 (/ usr / local / cpanel / cgi-sys / php5) Состояние активного простоя Pid-доступа
7990 1066 0 57 Готово
8001 1031 64 35 Готово
7999 1032 94 29 Готово
8000 1031 91 36 Готово
8002 1029 34 52 Готово
Процесс: php5 (/ usr / local / cpanel / cgi-sys / php5) Состояние активного простоя Pid-доступа
7991 1064 29 115 Готово
При нормальной работе нет строк с надписью «Выход (ошибка связи)»
Active и Idle - это время активности и время с момента последнего запроса в секундах.
Вот системная информация.
Информация о Sysem:
Всего процессоров: 8
Производитель процессора №1 Подлинное название Intel (R) Xeon (R) CPU E5440 @ 2,83 ГГц Частота 88,320 МГц Кэш-память 6144 КБ
Все остальные семь такие же.
Системная информация
Linux vps.nnnnnnnnnnnnnnnnn.nnn 2.6.18-028stab099.3 # 1 SMP, среда, 7 марта 15:20:22 MSK 2012 x86_64 x86_64 x86_64 GNU / Linux
Текущее использование памяти общее количество используемых свободных общих буферов кэшировано Mem: 8388608 882164 7506444 0 0 0 - / + buffers / cache: 882164 7506444 Swap: 0 0 0 Всего: 8388608 882164 7506444
Текущее использование диска Размер файловой системы Используемый доступ Использование% Установлено на / dev / vzfs 100 ГБ 34 ГБ 67 ГБ 34% / нет
Сведения о системе:
Работает на: Apache / 2.2.22 Информация о системе: (Unix) mod_ssl / 2.2.22 OpenSSL / 0.9.8e-fips-rhel5 DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 mod_fcgid / 2.3.6 Работает на: PHP / 5.3.10
Текущая конфигурация
Версия PHP по умолчанию (файлы .php) 5
Обработчик PHP 5 fcgi Обработчик PHP 4 suphp
Apache suEXEC на
Apache Ruid2 выключен
Обработчик PHP 4 suphp
Apache suEXEC на
Конфигурация Apache
Сохранены следующие настройки:
fileetag: Все
keepalive: Вкл.
keepalivetimeout: 3
максклиентов: 150
maxkeepaliverequests: 10
maxrequestsperchild: 10000
maxspareservers: 10
minзапасные серверы: 5
root_options: ExecCGI, FollowSymLinks, Includes, IncludesNOEXEC, Indexes, MultiViews, SymLinksIfOwnerMatch
serverlimit: 256
serverignature: Off
servertokens: Полный
sslciphersuite: ALL:! ADH: RC4 + RSA: + HIGH: + MEDIUM: -LOW: -SSLv2: -EXP:! kEDH
стартовые серверы: 5
тайм-аут: 30
Надеюсь, я хорошо объяснил свою проблему.
Любая помощь будет приятной.
По моему опыту работы с VPS, я бы посмотрел на ограничения для открытых файлов (/ sock). Это может привести к странным эффектам, особенно зависанию / запрету ввода-вывода (например, ваша ошибка связи), хотя очевидно, что доступно много бесплатных ресурсов.
Проверьте свою базу данных на наличие ошибок и убедитесь, что база данных не слишком велика. Также посмотрите журналы своей базы данных и журналы ошибок Apache, когда вы заметите замедление.