Welcome! Log In Create A New Profile

Advanced

Re: оптимизация модуля: переполнения и блокировки

November 16, 2011 03:51AM
Valery Kholodkov Wrote:
-------------------------------------------------------

> > Ответ
> > может быть достаточно
> большим. Если он
> > целиком живет в памяти и
> запросов
> > много, то можно пережрать
> память и
> > загнать процесс в своп. С
> другой
> > стороны, то запрос может
> выполняться
> > достаточно долго.
> Количество запросов,
> > обрабатываемых
> одновременно - не такое
> > большое. Это количество
> ядер. Если
> > количество подключений
> достаточно
> > велико, и мы используем
> блокирующее
> > чтение, то с хорошей
> вероятностью все
> > ядра будут заняты
> ожиданием
> > ввода-вывода, и
> большинство запросов
> > будут ждать, пока они
> освободятся.
> > Таким образом, мы сильно
> деградируем по
> > времени ответа.
>
> Было бы неплохо, если бы Вы
> объясняли более конкретно.
> Я опять ничего не понял.

Я имел в виду ситуацию, когда формируемый ответ большой. И его формирование занимает какое-то время. Если он втечение всего этого времени живет в памяти, то можно исчерпать всю память, т.к. сервер обслуживает большое количество запросов одновременно. Для того, чтоб этого избежать, надо не буферизовать ответ, а сразу отсылать в сокет то, что доступно и читать дальше. Maxim Dounin говорит, что можно это сделать повешав свой обработчик на событие записи клиенту и там освобождать буффера, которые уже отправлены. Буду ковырять в этом направлении.

Что касается моих предположений по поводу блокировки при чтении из бд - тут я погорячился. Здесь ничего не поделать - ибо интерфейс работы с базой данных такой возможности не предлоставляет. Если в случае с файлом я могу сакзать nginx'у "на тебе дескриптор, и читай от сих до сих" и он закинет этот дескриптор в очередь на poll/epoll (если сочтет нужным), то в случае с каким-то другим "чтением" я этого сделать не могу.


Andrey Repin Wrote:
-------------------------------------------------------
> А это уже зависит от
> размера буфера,
> отдаваемого клиенту в
> каждом случае.
> Даже не от самого размера, а
> от отношения его к общему
> размеру результата.

Все верно. Тут нужно гонять тесты и подбирать параметры. Проблема лишь в том, что ответы бывают разные по размеру. И разброс достаточно большой. Кажется, что в такой ситуации трудно будет найти баланс.
Subject Author Posted

оптимизация модуля: переполнения и блокировки

minya November 11, 2011 12:52PM

Re: оптимизация модуля: переполнения и блокировки

minya November 14, 2011 05:11AM

Re: оптимизация модуля: переполнения и блокировки

xinu November 15, 2011 07:20AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 07:49AM

Re[2]: :

Andrey Repin November 15, 2011 11:36AM

Re: оптимизация модуля: переполнения и блокировки

Valery Kholodkov November 15, 2011 08:00AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 08:20AM

Re: оптимизация модуля: переполнения и блокировки

Maxim Dounin November 15, 2011 08:26AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 08:30AM

Re: оптимизация модуля: переполнения и блокировки

Maxim Dounin November 15, 2011 09:20AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 09:45AM

Re: оптимизация модуля: переполнения и блокировки

Valery Kholodkov November 15, 2011 08:42AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 08:46AM

Re: оптимизация модуля: переполнения и блокировки

Valery Kholodkov November 15, 2011 08:50AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 09:07AM

Re: оптимизация модуля: переполнения и блокировки

minya November 15, 2011 09:09AM

Re: оптимизация модуля: переполнения и блокировки

Valery Kholodkov November 15, 2011 09:26AM

Re: оптимизация модуля: переполнения и блокировки

minya November 16, 2011 03:51AM

Re: оптимизация модуля: переполнения и блокировки

Gena Makhomed November 16, 2011 08:42AM

Re: оптимизация модуля: переполнения и блокировки

minya November 18, 2011 01:18AM

Re: оптимизация модуля: переполнения и блокировки

Un Lexx November 19, 2011 12:56AM

Re: оптимизация модуля: переполнения и блокировки

Valery Kholodkov November 19, 2011 05:44AM

Re: оптимизация модуля: переполнения и блокировки

Gena Makhomed November 19, 2011 06:08AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 301
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready