Re: Почему нагружается только 1 worker?
On Tuesday 03 June 2014 09:19:16 Илья Шипицин wrote: > Максим, насчет keepalive, наверное, мысль была в том, чтобы в тесте > воссоздать нечто, максимально похожее на боевые условия. > ни текущая ситуация (когда, вероятно, все запросы идут в рамках одного > конекта), ни то, что вы предложили ("убедиться, что тесты не > используют постоянные соединения") на боевые условия не похожи. > > у нас как-то была задача посчитать, сколько в боевых условиях в > среднем проходит запросов в рамках одного keepalive-соединения. > красивого и понятного решения не нашли. придумали логировать исходящий > tcp-порт на клиенте (и верить, что это признак keepalive). > > не подскажете, какие есть еще варианты ? [..] $connection + $connection_requests http://nginx.org/ru/docs/http/ngx_http_log_module.html#var_connection -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Почему нагружается только 1 worker?
Максим, насчет keepalive, наверное, мысль была в том, чтобы в тесте воссоздать нечто, максимально похожее на боевые условия. ни текущая ситуация (когда, вероятно, все запросы идут в рамках одного конекта), ни то, что вы предложили ("убедиться, что тесты не используют постоянные соединения") на боевые условия не похожи. у нас как-то была задача посчитать, сколько в боевых условиях в среднем проходит запросов в рамках одного keepalive-соединения. красивого и понятного решения не нашли. придумали логировать исходящий tcp-порт на клиенте (и верить, что это признак keepalive). не подскажете, какие есть еще варианты ? 2 июня 2014 г., 21:40 пользователь Maxim Dounin написал: > Hello! > > On Mon, Jun 02, 2014 at 03:32:06AM -0400, Brazzford wrote: > >> Здравствуйте! У меня VPS с одно ядерным процессором. В конфиге Nginx >> поставлено 2 worker'а. Когда я делаю тест с помощью AB, вижу, что всю >> нагрузку принимает либо первый либо второй worker. Именно поэтому >> рекомендуют запускать количество worker'ов равных числу ядер? Потому что >> остальные задействованы не будут? А почему два worker'a не могут >> распределить нагрузку между собой, работая на одном ядре процессора? Я знаю, >> что одно ядро, в одно и тоже время может выполнять только один процесс, но >> ведь существует переключатель процессов, который с одного процесса >> переключается на другой... и я не могу понять почему у меня нагружается >> только один worker. Помогите пожалуйста понять суть дела. > > По умолчанию nginx старается работать так, чтобы "пробуждалось" > минимальное количество рабочих процессов - это позволяет экономить > затраты на переключение контекстов и "лишние" пробуждения > процессов. При реальной работе - в результате используется > столько процессов, сколько на самом деле нужно для обработки той > нагрузки, которая есть. > > Если хочется получить более ровное распределение в тестах - то > имеет смысл: > > - accept_mutex выключить; > - multi_accept, если вдруг включён, выключить; > - убедиться, что тесты не используют постоянные соединения и/или > количество устанавливаемых соединений так или иначе велико. > > Ссылки: > > http://nginx.org/r/accept_mutex/ru > http://nginx.org/r/multi_accept/ru > > -- > Maxim Dounin > http://nginx.org/ > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL Ошибка
Вопрос снят. Была ошибка в сертификате. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246036,250594#msg-250594 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL Ошибка
Спасибо за наводку. Была ошибка в символе пути (невнимательность). Сделав все как нужно, объединив сертификаты и указав на сертификат и ключ запустил nginx. Не запускается. Выдает ошибку PEM_read_bio_X509_AUX("/etc/nginx/ssl/infologistics.ru/infolog2.ru.crt") failed (SSL:) Что означает она? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246036,250592#msg-250592 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Почему нагружается только 1 worker?
Hello! On Mon, Jun 02, 2014 at 03:32:06AM -0400, Brazzford wrote: > Здравствуйте! У меня VPS с одно ядерным процессором. В конфиге Nginx > поставлено 2 worker'а. Когда я делаю тест с помощью AB, вижу, что всю > нагрузку принимает либо первый либо второй worker. Именно поэтому > рекомендуют запускать количество worker'ов равных числу ядер? Потому что > остальные задействованы не будут? А почему два worker'a не могут > распределить нагрузку между собой, работая на одном ядре процессора? Я знаю, > что одно ядро, в одно и тоже время может выполнять только один процесс, но > ведь существует переключатель процессов, который с одного процесса > переключается на другой... и я не могу понять почему у меня нагружается > только один worker. Помогите пожалуйста понять суть дела. По умолчанию nginx старается работать так, чтобы "пробуждалось" минимальное количество рабочих процессов - это позволяет экономить затраты на переключение контекстов и "лишние" пробуждения процессов. При реальной работе - в результате используется столько процессов, сколько на самом деле нужно для обработки той нагрузки, которая есть. Если хочется получить более ровное распределение в тестах - то имеет смысл: - accept_mutex выключить; - multi_accept, если вдруг включён, выключить; - убедиться, что тесты не используют постоянные соединения и/или количество устанавливаемых соединений так или иначе велико. Ссылки: http://nginx.org/r/accept_mutex/ru http://nginx.org/r/multi_accept/ru -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL Ошибка
02.06.2014 18:53, chebevara пишет: Можете подсказать в каком направлении копать? ls -la /etc/nginx/ssl/infolog2.ru.crt ls -la /etc/nginx/ssl/ и проверить права. Может сертификаты не от рута пытается прочесть а от nginx или nobody или еще от кого.. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: SSL Ошибка
Aleksandr Sytar Wrote: --- > 5 января 2014 г., 1:55 пользователь mishatatinets > написал: > > > Я пытаюсь установить сертификат, но мне при тестировании выкидывает > > следующую ошибку. > > > > nginx: [emerg] BIO_new_file("/etc/nginx/certificates/domain.crt") > failed > > (SSL: error:02001002:system library:fopen:No such file or > > directory:fopen('/etc/nginx/certificates/domain.crt','r') > > error:2006D080:BIO > > routines:BIO_new_file:no such file) > > > > ^ > > Очевидно же: либо нет файла по указанному пути, либо nginx не имеет > прав > его читать. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Добрый день. У меня возникла аналогичная проблема. Не могу понять что не так делаю. Тестовый сервер, Есть nginx, запускаю все из под root. Все файлы сертификаты лежат там где указываю. Но Nginx все равно пишет что [root@msk-1299 nginx]# service nginx restart nginx: [emerg] BIO_new_file("/etc/nginx/ssl/infolog2.ru.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/ssl/infolog2.ru.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file) nginx: configuration file /etc/nginx/nginx.conf test failed. Можете подсказать в каком направлении копать? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246036,250575#msg-250575 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
server names при проверке valid referers
Доброго времени суток, Имеется: server { listen 80; server_name _; ... } При проверке valid_referers: location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ { valid_referers none blocked server_names *.domain.com; if ($invalid_referer) { return 403; } } ... в server_names не присутствует доменное имя по которому клиент пришел на сайт. Смысл таков: при регистрации на сайте пользователь получает сабдомен .domain.com (именно по этому все запросы отправляются в "server_name _" да бы не клепать сотни виртуалхостов). Но при желании он может подключить свой домен к сервису. Хочется пресечь возможность хотлинкинга загружаемых им статических файлов. Пробовал добавлять $host в valid_referers, но так не работает. Подскажите пожалуйста как решить данную проблему. Заранее благодарен! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,250569,250569#msg-250569 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Почему нагружается только 1 worker?
У меня ubuntu 12.04. multi_accept on - закомментирован. И всё равно получается так, что, например, один worker 50% CPU, а второй 0% Валентин Бартенев Wrote: --- > On Monday 02 June 2014 03:32:06 Brazzford wrote: > > Здравствуйте! У меня VPS с одно ядерным процессором. В конфиге Nginx > > поставлено 2 worker'а. Когда я делаю тест с помощью AB, вижу, что > всю > > нагрузку принимает либо первый либо второй worker. Именно поэтому > > рекомендуют запускать количество worker'ов равных числу ядер? Потому > что > > остальные задействованы не будут? А почему два worker'a не могут > > распределить нагрузку между собой, работая на одном ядре процессора? > Я знаю, > > что одно ядро, в одно и тоже время может выполнять только один > процесс, но > > ведь существует переключатель процессов, который с одного процесса > > переключается на другой... и я не могу понять почему у меня > нагружается > > только один worker. Помогите пожалуйста понять суть дела. > > > > Стоит указать операционную систему. > > Если это Linux, то по всей видимости вы сами так настроили, > разрешив multi_accept. > > -- > Валентин Бартенев > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,250554,250559#msg-250559 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Почему нагружается только 1 worker?
On Monday 02 June 2014 03:32:06 Brazzford wrote: > Здравствуйте! У меня VPS с одно ядерным процессором. В конфиге Nginx > поставлено 2 worker'а. Когда я делаю тест с помощью AB, вижу, что всю > нагрузку принимает либо первый либо второй worker. Именно поэтому > рекомендуют запускать количество worker'ов равных числу ядер? Потому что > остальные задействованы не будут? А почему два worker'a не могут > распределить нагрузку между собой, работая на одном ядре процессора? Я знаю, > что одно ядро, в одно и тоже время может выполнять только один процесс, но > ведь существует переключатель процессов, который с одного процесса > переключается на другой... и я не могу понять почему у меня нагружается > только один worker. Помогите пожалуйста понять суть дела. > Стоит указать операционную систему. Если это Linux, то по всей видимости вы сами так настроили, разрешив multi_accept. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Почему нагружается только 1 worker?
Здравствуйте! У меня VPS с одно ядерным процессором. В конфиге Nginx поставлено 2 worker'а. Когда я делаю тест с помощью AB, вижу, что всю нагрузку принимает либо первый либо второй worker. Именно поэтому рекомендуют запускать количество worker'ов равных числу ядер? Потому что остальные задействованы не будут? А почему два worker'a не могут распределить нагрузку между собой, работая на одном ядре процессора? Я знаю, что одно ядро, в одно и тоже время может выполнять только один процесс, но ведь существует переключатель процессов, который с одного процесса переключается на другой... и я не могу понять почему у меня нагружается только один worker. Помогите пожалуйста понять суть дела. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,250554,250554#msg-250554 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru