Помогите с настройками Апача

Solmyr
На сайте с 10.09.2007
Offline
501
672

Ситуация следующая. На сервер идет большое количество запросов, на которые апач отвечает на основе обработки файла .htaccess 301 редиректом на другой сервер.

Проблема состоит в том, что при большом количестве запросов, Апач начинает отвечать за запрос очень медленно, иногда вообще не удается установить TCP-коннект по причине таймаута. При этом я не вижу исчерпания никаких ресурсов, процессор свободен, другие процессы, не на 80м порту, такие как SSH, FTP, Webmin работают быстро и стабильно.

Подскажите плиз куда копать?

_Dizerd_
На сайте с 21.12.2011
Offline
76
#1

Solmyr, Было бы лучше если бы логи бы предоставили апача. Nginx я как понял непользуетесь?

M
На сайте с 16.09.2009
Offline
278
#2
Solmyr:
На сервер идет большое количество запросов, на которые апач отвечает на основе обработки файла .htaccess 301 редиректом на другой сервер.

Начните с того, что объясните как устроены правила .htaccess. Мало-ли что и сколько там может "обрабатываться".

Solmyr:
Проблема состоит в том, что при большом количестве запросов, Апач начинает отвечать за запрос очень медленно, иногда вообще не удается установить TCP-коннект по причине таймаута.

... Коннект - с кем?

Посмотрите что делает апач в выводе mod_status. Может нужно разрешить ему побольше детей плодить (смотрите директивы MPM-модуля - MaxClients и т.п.)

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Solmyr
На сайте с 10.09.2007
Offline
501
#3

Прошу прощения, я человек малограмотный, какие-такие логи? access log что ли? Так в нем по-моему ничего интересного нету, кроме интервала между запросами, или у апача еще какие-то логи существуют?

---------- Добавлено в 20:02 ---------- Предыдущее сообщение было в 19:59 ----------

Правило простое:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^******$

RewriteRule ^ http://******%{REQUEST_URI} [L,R=301]

Вроде тут проблем быть не должно.

---------- Добавлено в 20:03 ---------- Предыдущее сообщение было в 20:02 ----------

MaxClients 150

Как понять мало ли этого?

---------- Добавлено в 20:04 ---------- Предыдущее сообщение было в 20:03 ----------

myhand:
Коннект - с кем?

Коннет с сервером на котором апач на 80м порту. А с другими демонами на других портах проблем с коннектом нет.

---------- Добавлено в 20:14 ---------- Предыдущее сообщение было в 20:04 ----------

Статус пишет:

Current Time: Wednesday, 04-Jan-2012 19:12:16 EET

Restart Time: Monday, 02-Jan-2012 15:51:00 EET

Parent Server Generation: 3

Server uptime: 2 days 3 hours 21 minutes 15 seconds

Total accesses: 4236382 - Total Traffic: 23.9 GB

CPU Usage: u14.37 s1.05 cu0 cs0 - .00834% CPU load

22.9 requests/sec - 135.7 kB/second - 5.9 kB/request

149 requests currently being processed, 0 idle workers

То есть я так понимаю это именно количество дочерних процессов мало?

M
На сайте с 16.09.2009
Offline
278
#4
Solmyr:
Правило простое:
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_REFERER} ^******$
RewriteRule ^ http://******%{REQUEST_URI} [L,R=301]

Простите, это одно такое правило - или несколько? Что звездочками запузырено - какой-то регэксп, конкретное доменное имя?

Если правил несколько - сколько? Уверены, что там нет петелек (редирект - на другой ваш редирект и т.п.)?

Solmyr:
MaxClients 150
Как понять мало ли этого?

Предоставить информацию, которую просили. В частности, mod_status.

Solmyr:
Коннет с сервером на котором апач на 80м порту.

Т.е. *до* редиректа? Покажите вывод

wget -q -S http://примердомена/примерurl
(для адреса должны срабатывать ваши правила редиректа)
Solmyr:

149 requests currently being processed, 0 idle workers

То есть я так понимаю это именно количество дочерних процессов мало?

Выставьте ExtendedStatus On

- посмотрите кто чем занимается.

Вам, наверно, имеет смысл

KeepAlive Off

поставить. Или уменьшить KeepAliveTimeout.

Solmyr
На сайте с 10.09.2007
Offline
501
#5

Всё, удвоил количество дочерних процессов теперь работает как надо. Огромное спасибо за помощь.

---------- Добавлено в 20:22 ---------- Предыдущее сообщение было в 20:17 ----------

myhand:
Выставьте ExtendedStatus On
- посмотрите кто чем занимается.

Угу я смотрю кто чем занимается, это мне будет отдельная тема для размышления, там половина не совсем тем чем надо занимается. Но на данный момент удвоение количества дочерних процессов разрешило ситуацию :)

И я теперь заодно узнал что такое mod_status :) :) :)

M
На сайте с 16.09.2009
Offline
278
#6

Не торопитесь. Если сервер *сам* не раздает статический контент - рекоммендую настроить KeepAlive как писали выше.

Solmyr
На сайте с 10.09.2007
Offline
501
#7
myhand:
Не торопитесь. Если сервер *сам* не раздает статический контент - рекоммендую настроить KeepAlive как писали выше.

В том-то и дело что раздает. Просто дополнительно к нормальной работе сайтов на сервере, возникла необходимость поотфутболивать на другой домен большое количество запросов с определенным рефом. Один нехороший человек вздумал сайт САРом досить.... Сделал свою страничку, в страничку инклудит много страниц с моего сайта, и наливает на эту страничку траф из САР.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий