Назад | Перейти на главную страницу

Страницы PHP время от времени загружаются медленно

За последние 15-20 дней заметил проблему на одном сайте. На сайте есть две галереи изображений, одна - это старая статическая HTML-галерея, созданная несколько лет назад, а другая, основная, работает на ZENPhoto CMS. Также у меня есть та же галерея CMS на двух других сайтах на том же VPS.

Проблема в том, что через некоторое время загрузка сгенерированных PHP страниц сайта становится очень медленной, или я получаю сообщение об ошибке 503 Service Tempoporary Unavailable. Но проблема заключается только в страницах, сгенерированных PHP, старая часть сайта со статическими страницами .html работает быстро и в то же время нормально. Все статические страницы .html работают быстро, даже если все другие страницы, созданные PHP, загружаются медленно или недоступны.

Также два других сайта с такой же галереей CMS и еще два сайта на этом VPS с другой галереей изображений, управляемой PHP, работают нормально на том же VPS одновременно.

Итак, когда сайт начинает зависать, ТОЛЬКО контент, созданный PHP, не работает, как я уже сказал, работают другие статические страницы. Затем мне нужно перезапустить Apache, после перезапуска все работает хорошо и быстро в течение некоторого времени, но опять же, просто страницы PHP на этом сайте становятся медленнее. Если я не перезапущу apache, эта медленность займет некоторое время (несколько минут, часов, в зависимости от трафика), и в течение этого времени контент, управляемый PHP, загружается очень медленно или недоступен на этом сайте. Через какое-то время, в какие-то моменты все начинает работать и какое-то время снова быстро, и снова. В часы с большим объемом трафика PHP-контент загружается медленно или недоступен, в часы с меньшим объемом трафика он иногда выполняется быстрее, а иногда немного медленнее, чем обычно.

И снова, только на этом сайте, и только на страницах, управляемых PHP, статические страницы работают быстро даже в большинство часов трафика.

Сайт теряет посетителей всякий раз, когда начинает замедляться.

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

Когда сайт начинает тормозить, я вижу что-то вроде этого в статусе Apache:

mod_fcgid status:
Total FastCGI processes: 37 
Process: php5  (/usr/local/cpanel/cgi-sys/php5)
Pid Active Idle Accesses State
11300   39   28   7   Working
11274   47   28   7   Working
11296   40   29   3   Working
11283   45   30   3   Working
11304   36   31   1   Working
11282   46   32   3   Working
11292   42   33   1   Working
11289   44   34   1   Working
11305   35   35   0   Working
11273   48   36   2   Working
11280   47   39   1   Working
10125   133  40   12  Exiting(communication error)
11294   41   41   1   Exiting(communication error)
11277   47   42   2   Exiting(communication error)
11291   43   43   1   Exiting(communication error)
10187   108  43   10  Exiting(communication error)
10209   95   44   7   Exiting(communication error)
10171   113  44   5   Exiting(communication error)
11275   47   47   1   Exiting(communication error)
10144   125  48   8   Exiting(communication error)
10086   149  48   20  Exiting(communication error)
10212   94   49   5   Exiting(communication error)
10158   118  49   5   Exiting(communication error)
10169   114  50   4   Exiting(communication error)
10105   141  50   16  Exiting(communication error)
10094   146  50   15  Exiting(communication error)
10115   139  51   17  Exiting(communication error)
10213   93   51   9   Exiting(communication error)
10197   103  51   7   Exiting(communication error)
Process: php5 (/usr/local/cpanel/cgi-sys/php5)
Pid Active Idle Accesses State
7983   1079   2    149   Ready
7979   1079   11   151   Ready
Process: php5  (/usr/local/cpanel/cgi-sys/php5)
Pid Active Idle Accesses State
7990   1066   0    57   Ready
8001   1031   64   35   Ready
7999   1032   94   29   Ready
8000   1031   91   36   Ready
8002   1029   34   52   Ready
Process: php5  (/usr/local/cpanel/cgi-sys/php5)
Pid Active Idle Accesses State
7991   1064   29   115   Ready

При нормальной работе нет строк с надписью «Выход (ошибка связи)»

Active и Idle - это время активности и время с момента последнего запроса в секундах.

Процессор - двухъядерный четырехъядерный E5440 Xeon (2,83 ГГц).

Запуск Linux 2.6.18-028stab099.3, x86_64.

Выход бесплатно:

             total       used       free     shared    buffers     cached
Mem:       8388608     882164    7506444          0          0          0
-/+ buffers/cache:     882164    7506444
Swap:            0          0          0
Total:     8388608     882164    7506444

Текущее использование диска:

Filesystem            Size  Used Avail Use% Mounted on
/dev/vzfs             100G   34G   67G  34% /
none

Сведения о системе:

Работает на: 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

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