Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сайт впадает в 504 ошибку 
:(
    Опции темы
bncom
  Дата 17.2.2010, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Версия MySQL:     5.0.51a-24+lenny2
Версия PHP:     5.2.6-1+lenny4
Веб-сервер:     Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g

Установлены nginx и eAccelerator.

На сервере работает сайт (CMS Жумла) и форум (IPB 3.x).

Посещаемость сайта ~2 тыс. человек в сутки.



Часто выпадает 504 ошибка из-за 99% нагрузки процессора (Intel i7 1,7 ГГц) (см. прикрепленный скриншот).

Настройки апача такие:

Код

Timeout 30
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 2

<IfModule mpm_prefork_module>
 StartServers       5
 MinSpareServers    5
 MaxSpareServers    10
 MaxClients        10
 MaxRequestsPerChild   2000
</IfModule>


Несколько раз экспериментировал с настройками, но ничего не помогло, все равно сайт зависает. Помогает только ребут апача.

Это сообщение отредактировал(а) bncom - 17.2.2010, 15:15

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  ______5.JPG 97,74 Kb
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
1000000dollars
Дата 17.2.2010, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 6.10.2007

Репутация: 2
Всего: 8



Цитата

 MaxClients        10

не маловато?
PM MAIL   Вверх
bncom
Дата 17.2.2010, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Да я по разному экспериментировал, ставил MaxClients 32, все равно апач часто в ступор входит: на один www-data приходится много % ЦП, а таких www-data в моем примере 10 штук. Они все разом сжирают процессор  smile 

В каком направлении мне идти?
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
awers
Дата 17.2.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 1
Всего: 31



bncom, не знаю как на счёт апача, но я бы посоветовал попробовать прикрутить к nginx php-fpm (fast-cgi).
PM MAIL WWW ICQ Skype   Вверх
bncom
Дата 17.2.2010, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



В статьях и обзорах, которые я нашел, особого отрыва по производительности php-fpm от апача нет, а раз не видно разницы, зачем что-то менять?
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
awers
Дата 18.2.2010, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 1
Всего: 31



bncom, к примеру после моего перехода с апача2 на lighttpd, сервак стал держать в 2,5 раза больше клиентов. nginx дал ещё десяток процентов.
PM MAIL WWW ICQ Skype   Вверх
IgorIV
Дата 22.2.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Цитата(bncom @  17.2.2010,  15:12 Найти цитируемый пост)
Timeout 30KeepAlive OnMaxKeepAliveRequests 200KeepAliveTimeout 2

У тебя nginx не дожидается апача. Как я понимаю, keep-alive на апаче ничего не дает.
Приводи конфиг nginx и акселератора.
Заодно и top -m io
Значит сервер полностью твой?
PM MAIL   Вверх
bncom
Дата 22.2.2010, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Конфиг nginx:

Код

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    access_log    /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    server {
        listen 188.41.18.15:80;
        server_name site1.ru www.site1.ru site2.ru www.site2.ru site3.ru www.site3.ru *.site1.ru;
        rewrite ^(/manager/.*)$    https://$host$1    permanent;
        rewrite    ^(/manager/.*)$    https://$host$1    permanent;
        location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
            proxy_pass http://188.41.18.15:8080;
            proxy_redirect http://site1.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location / {
            proxy_pass http://188.41.18.15:8080;
            proxy_redirect http://site1.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            access_log /var/www/httpd-logs/site1.ru.access.log;
            set $proot "/var/www/u2424/data/www/site1.ru";
            if ( $host = "site1.ru" ) {
                break;
            }
            if ( $host = "www.site1.ru" ) {
                break;
            }
            if ( $host = "site2.ru" ) {
                break;
            }
            if ( $host = "www.site2.ru" ) {
                break;
            }
            if ( $host = "site3.ru" ) {
                break;
            }
            if ( $host = "www.site3.ru" ) {
                break;
            }
            if ( $host ~* ^(.*).site1.ru$ ) {
                set $proot /var/www/u2424/data/www/site1.ru/$1;
                break;
            }
            error_page 404 = @fallback;
            root $proot;
        }
        location @fallback {
            proxy_pass http://188.41.18.15:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    server {
        listen 188.41.18.15:80;
        server_name site2.ru www.site2.ru;
        rewrite ^(/manager/.*)$    https://$host$1    permanent;
        rewrite    ^(/manager/.*)$    https://$host$1    permanent;
        location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
            proxy_pass http://188.41.18.15:8080;
            proxy_redirect http://site2.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location / {
            proxy_pass http://188.41.18.15:8080;
            proxy_redirect http://site2.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            root /var/www/u2424/data/www/site2.ru;
            access_log /var/www/httpd-logs/site2.ru.access.log;
            error_page 404 = @fallback;
        }
        location @fallback {
            proxy_pass http://188.41.18.15:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    server {
        listen 85.91.58.16:80;
        server_name league.site1.ru;
        rewrite ^(/manager/.*)$    https://$host$1    permanent;
        rewrite    ^(/manager/.*)$    https://$host$1    permanent;
        location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
            proxy_pass http://85.91.58.16:8080;
            proxy_redirect http://league.site1.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location / {
            proxy_pass http://85.91.58.16:8080;
            proxy_redirect http://league.site1.ru:8080/ /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            root /var/www/u2424/data/www/league.site1.ru;
            access_log /var/www/httpd-logs/league.site1.ru.access.log;
            error_page 404 = @fallback;
        }
        location @fallback {
            proxy_pass http://85.91.58.16:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    server_names_hash_bucket_size 64;
    client_max_body_size 16m;
}


Конфиг eAccelerator:

Код

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


>Заодно и top -m io

Таких ключей как -m top у меня не знает.

Это сообщение отредактировал(а) bncom - 23.2.2010, 18:02
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
IgorIV
Дата 22.2.2010, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Я думаю, что тот модуль кеширования который стоит, можно удалить. Вместь того чтобы отдавать статику nginx, у тебя дергается апач для какой-то проверки.
Это случайно не firstvds? Знакомый конфиг. Тогда это просто VDS?
PM MAIL   Вверх
bncom
Дата 23.2.2010, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Цитата(IgorIV @  22.2.2010,  14:24 Найти цитируемый пост)
тогда это просто VDS?

Да, выделенный виртуальный сервер.

Цитата(IgorIV @  22.2.2010,  14:24 Найти цитируемый пост)
Вместь того чтобы отдавать статику nginx, у тебя дергается апач для какой-то проверки.

А где вы проверку увидели?

--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
IgorIV
Дата 23.2.2010, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Ну ты же не все имена зачистил. smile Пошёл - посмотрел.
Раз VDS, то винчестер - слабое звено, им лучше не пользоватся.
И посмотри ещё плагины-кешеры, которые позволяют работать с eAccelerator или Xcache. В смысле использования кеша данных.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.1478 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.