Welcome! Log In Create A New Profile

Advanced

Re: nginx отъедает все процессорное время

Maxim Dounin
March 01, 2016 01:26PM
Hello!

On Tue, Mar 01, 2016 at 01:05:37PM -0500, mikhal123 wrote:

> Maxim Dounin Wrote:
> > Это, безусловно, ошибка - должна быть ругань в логе, а не цикл.
> > E.g, при выключенном sendfile'е - будет что-то вроде:
> >
> > [alert] ... read() read only ... of ... from "..."
> >
> > А на FreeBSD и при использовании sendfile() в таком случае будет:
> >
> > [alert] ... sendfile() reported that "..." was truncated at ...
> >
> > На Linux'е интерфейс sendfile() несколько другой, и явного
> > детектирования таких ошибок сейчас nginx делать не умеет.
> > Когда-нибудь обязательно научим, тем более, что при использовании
> > thread'ов это стало нехорошо проявляться.
> >
> > Следует, однако, понимать, что в случае неатомарного обновления
> > файлов клиент имеет все шансы получить произвольную смесь из
> > старого и нового файлов (не говоря уже о новом содержимом,
> > обрезанном по старому размеру), и делать так - не надо. А если вы
> > так делаете - то надо быть готовым как минимум к мусору в ответах,
> > а как максимум - и к более другим проблемам.
> >
> > "В точно такой же конфигурации" - это вряд ли. Два года назад в
> > nginx'е не было поддержи "aio threads", а на цикл вы наступили
> > именно из-за неё - в обычной ситуации на Linux'е соединение просто
> > повиснет до таймаута.
> >
> > Что до мусора, то тут всё зависит от везения и конкретного формата
> > данных. Если специально не пытаться ловить повреждения данных -
> > можно долго ничего не замечать, списывая проблемы на подземный
> > стук.
>
> По поводу iao threads согласен, запамятовал что включил его после
> обновления
>
> Про ошибки
> [alert] ... read() read only ... of ... from "..."
> помню, встречал. В моем случае решается несложно - обновляемый файл (а мне
> нужно его обновлять, тут никуда не деться) всегда дополняется пробелами до
> заранее заданного размера, и nginx остается доволен

Ну то есть вы тщательно проигнорировали всё то доброе и вечное, что
nginx писал вам про некорректность вашей работы с файлами, и
вместо того, чтобы исправить проблему, заткнули сообщение,
дополнив файл пробелами? И, судя по тому, что сейчас у вас всё
зацикливается - ещё и убрали из кода это дополнение пробелами?
Почему-то вспоминается старый анекдот про японскую бензопилу. ;)

Не надо так. Обновляйте файл атомарно, i.e., пишите новый файл, а
потом делайте rename() в старое имя. И будет вам счастье.

> Но проблему с зацикливанием, как я понимаю, в ближайшее время вы не сможете
> решить, и как самый простой вариант - отключить aio threads до лучших
> времен?

Самый простой вариант - починить обновление файла, сделав его
атомарным.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx отъедает все процессорное время

mikhal123 February 22, 2016 03:29AM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 22, 2016 04:52AM

Re: nginx отъедает все процессорное время

mikhal123 February 22, 2016 06:58AM

Re: nginx отъедает все процессорное время

mikhal123 February 22, 2016 10:00AM

Re: nginx отъедает все процессорное время

Vasiliy P. Melnik February 22, 2016 11:22AM

Re: nginx отъедает все процессорное время

Vasiliy P. Melnik February 22, 2016 11:22AM

Re: nginx отъедает все процессорное время

mikhal123 February 22, 2016 01:20PM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 24, 2016 10:24AM

Re: nginx отъедает все процессорное время

mikhal123 February 24, 2016 11:25AM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 24, 2016 11:46AM

Re: nginx отъедает все процессорное время

mikhal123 February 24, 2016 12:15PM

Re: nginx отъедает все процессорное время

Михаил Монашёв February 24, 2016 01:14PM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 24, 2016 01:20PM

Re: nginx отъедает все процессорное время

mikhal123 February 24, 2016 01:57PM

Re: nginx отъедает все процессорное время

mikhal123 February 26, 2016 01:34PM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 26, 2016 04:38PM

Re: nginx отъедает все процессорное время

mikhal123 February 27, 2016 02:51AM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 27, 2016 05:24AM

Re: nginx отъедает все процессорное время

mikhal123 February 29, 2016 03:18PM

Re: nginx отъедает все процессорное время

Валентин Бартенев March 01, 2016 04:28AM

Re: nginx отъедает все процессорное время

mikhal123 March 01, 2016 10:52AM

Re: nginx отъедает все процессорное время

Валентин Бартенев March 01, 2016 11:04AM

Re: nginx отъедает все процессорное время

Maxim Dounin March 01, 2016 11:12AM

Re: nginx отъедает все процессорное время

mikhal123 March 01, 2016 11:27AM

Re: nginx отъедает все процессорное время

mikhal123 March 01, 2016 11:25AM

Re: nginx отъедает все процессорное время

Maxim Dounin March 01, 2016 12:50PM

Re: nginx отъедает все процессорное время

mikhal123 March 01, 2016 01:05PM

Re: nginx отъедает все процессорное время

Maxim Dounin March 01, 2016 01:26PM

Re: nginx отъедает все процессорное время

mikhal123 March 01, 2016 02:05PM

Re: nginx отъедает все процессорное время

Evgeniy Berdnikov March 02, 2016 02:24AM

Re: nginx отъедает все процессорное время

mikhal123 March 02, 2016 08:41AM

Re: nginx отъедает все процессорное время

Evgeniy Berdnikov March 02, 2016 11:16AM

Re: nginx отъедает все процессорное время

mikhal123 March 02, 2016 11:55AM

Re: nginx отъедает все процессорное время

Maxim Konovalov March 02, 2016 12:10PM

Re: nginx отъедает все процессорное время

mikhal123 February 25, 2016 02:26PM

Re: nginx отъедает все процессорное время

ALex_hha February 25, 2016 02:44PM

Re: nginx отъедает все процессорное время

mikhal123 February 25, 2016 02:52PM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 25, 2016 02:58PM

Re: nginx отъедает все процессорное время

mikhal123 February 25, 2016 03:05PM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 25, 2016 03:10PM

Re: nginx отъедает все процессорное время

ALex_hha February 25, 2016 06:42PM

Re: nginx отъедает все процессорное время

Aleksandr Sytar February 26, 2016 01:52AM

Re: nginx отъедает все процессорное время

ALex_hha February 26, 2016 03:20AM

Re: nginx отъедает все процессорное время

Vadim Lazovskiy February 26, 2016 03:40AM

Re: nginx отъедает все процессорное время

ALex_hha February 26, 2016 03:46AM

Re: nginx отъедает все процессорное время

Валентин Бартенев February 26, 2016 06:12AM

Re: nginx отъедает все процессорное время

mikhal123 February 26, 2016 09:41AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 149
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready