Re: Затыки при отдаче статики

Gelun, Artem a at gelun.ru
Sat Nov 23 12:32:41 UTC 2013


Геннадий, Вы говорите про оптимизацию дисковой подсистемы. А я - про то,
что чтение из tmpfs (считай, RAM) "застевает" в  произвольные моменты
времени по непонятным причинам. Это несколько разные проблемы. В этом
случае ни ngx_slowfs_cache, ни SSD, ни двойное проксирование решения не
дадут.


23 ноября 2013 г., 16:07 пользователь Gena Makhomed <gmm at csdoc.com> написал:

> On 23.11.2013 11:03, Alex Vorona wrote:
>
>  А вообще я не уверен что при перегруженных HDD проблема имеет решение,
>> если поступающих запросов больше, чем может обслужить дисковая подсистема.
>>
>
> есть очень похожая задача - что делать, если трафика больше,
> чем Bandwidth сетевой подсистемы. и эта задача успешно решена
> практически во всех операционных системах. например, для линукса
> - http://xgu.ru/wiki/QoS_в_Linux, Hierarchy Token Bucket и т.п.
>
> разница только в том, что Bandwidth сетевой подсистемы измеряется
> в мегабитах в секунду, а Bandwidth дисковой подсистемы - в IOPS.
> например, в новых версиях OpenVZ уже появилась опция --iopslimit iops
> также в линуксе есть ionice с 4 класами и 8 приоритетами внутри класса.
>
> теоретически, - если клиенты не однородны, (например, те, кто платит
> деньги за доступ к контенту и те, кто получает доступ к нему бесплатно)
> то можно разделить их по классам и назначить разные уровни приоритета.
> сейчас же обычно все свалено в одну кучу, и никаких QoS настроек нет.
>
> поскольку native поддержки для этого в nginx нет и вряд ли когда-либо
> появится, то это все придется делать средствами операционной системы.
>
> хотя обычно тюнинг nginx и операционной системы, чтобы данные с дисков
> читались большими блоками по 1 мегабайту - помогает и этого достаточно.
>
> еще скрытые резервы для повышения производительности могут быть в том,
> что дисковое хранилище собрано в виде RAID массива 5/6/10/... - в таком
> случае сам RAID массив является узким местом и его лучше разобрать
> на "отдельные" диски или RAID-1 массивы из N дисков. в этом случае,
> если software raid / hardware raid не кривой - скорость random
> чтения с RAID-1 массива из N дисков будет примерно в N раз выше.
>
> или же - добавить SSD к системе хранения файлов в том или ином виде
> (Bcache,Flashcache,Btier,EnhanceIO, nginx+ngx_slowfs_cache, etc...)
> туда уйдет самый "горячий" контент и вся система выдаст больше IOPS.
>
> кстати, странно что функциональности модуля ngx_slowfs_cache
> нет в основной ветке nginx, - чтобы сделать что-то аналогичное
> без ngx_slowfs_cache придется использовать "двойное проксирование".
> хотя может быть overhead от этого не большой и это вполне приемлимо.
> но настройка получается не тривиальной: http://habrahabr.ru/post/202290/
>
> --
> Best regards,
>  Gena
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20131123/26d1c84a/attachment.html>


Подробная информация о списке рассылки nginx-ru