Как устранить ошибку «[info] server seem busy» в журналах сервера Apache?

Как устранить ошибку «[info] server seem busy» в журналах сервера Apache?

Я видел, что этот вопрос задавали несколько раз, но на него не было реального ответа; поэтому я решил опубликовать свое решение.

Следующее infoсообщение можно увидеть в файле error.log Apache:

[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 41 idle, and 129 total children

решение1

Решение, кажется, довольно очевидно: увеличивайте StartServersдо тех пор, пока это не исчезнет. Хотя это и правда, произвольно увеличивать значение — плохая практика, если вы не понимаете последствий и действительно ли увеличенное значение поможет.

Я читал исходный код httpd и там написано следующее:

/*
 * idle_spawn_rate is the number of children that will be spawned on the
 * next maintenance cycle if there aren't enough idle servers.  It is
 * doubled up to MAX_SPAWN_RATE, and reset only when a cycle goes by
 * without the need to spawn.
 */

Далее в источнике регистрируется фактическая ошибка, когда:

if (retained->idle_spawn_rate >= 8) {
                ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf, APLOGNO(00162)
                    "server seems busy, (you may need "
                    "to increase StartServers, or Min/MaxSpareServers), "
                    "spawning %d children, there are %d idle, and "
                    "%d total children", retained->idle_spawn_rate,
                    idle_count, total_non_dead);
            }

Итак, это означает, что эта ошибка выдаетсякогда количество дочерних элементов, которые должны быть созданы в следующем цикле, превышает 8 из-за недостатка серверов для обработки запросов.

Так как же это исправить?

Каждый раз, когда возникает эта ошибка, вы увидите что-то вроде spawning 16 children; это означает, что пришлось создать 16 потомков, поскольку не хватало серверов для обработки запросов. По сути, увеличивайте StartServersна количество создаваемых потомков, пока ошибка не исчезнет. Вы также можете увеличить Min/MaxSpareServersна это количество вместо этого.

Связанный контент