РИТ: Высокие нагрузки vs Highload++

Igor Sysoev is at rambler-co.ru
Tue Sep 16 22:05:40 MSD 2008


On Tue, Sep 16, 2008 at 07:46:37PM +0300, MZ wrote:

> В вт, 16/09/2008 в 20:07 +0400, Igor Sysoev пишет:
> > On Tue, Sep 16, 2008 at 06:40:32PM +0300, MZ wrote:
> > 
> > > В вт, 16/09/2008 в 19:23 +0400, Igor Sysoev пишет:
> > > > On Tue, Sep 16, 2008 at 06:18:09PM +0300, MZ wrote:
> > > > 
> > > > > В вт, 16/09/2008 в 18:36 +0400, Igor Sysoev пишет:
> > > > > > On Tue, Sep 16, 2008 at 06:29:08PM +0400, Andrew Kopeyko wrote:
> > > > > > 
> > > > > > > On Tue, 16 Sep 2008, Igor Sysoev wrote:
> > > > > > > 
> > > > > > > >On Tue, Sep 16, 2008 at 01:11:35PM +0400, Roman Mashirov wrote:
> > > > > > > >
> > > > > > > >>Подскажите, пожалуйста, на какой из двух конференций вы будете?
> > > > > > > >
> > > > > > > >Я буду на обеих конференциях. На "РИТ: Высокие нагрузки" я, скорее всего,
> > > > > > > >буду курировать секцию "Проектирование архитектуры", а на Highload++,
> > > > > > > >я буду выступать с блиц-докладом, который почему-то назвали "Кинозал
> > > > > > > >Рамблера - сверхбыстрая раздача огромных файлов", но речь там будет идти
> > > > > > > >о том, как отдать 400G огромных файлов со скоростью порядка 700Mbit/s
> > > > > > > >с одной машины полутора тысячам одновременных пользователей.
> > > > > > > 
> > > > > > > Т.е. 700Mbit/s - это "просто быстро", вовсе не "сверхбыстро"...
> > > > > > > 
> > > > > > > А что же тогда "сверхбыстро"?
> > > > > > 
> > > > > > Не знаю, но в рамках одной машины мы упёрлись в то, что bge на FreeBSD
> > > > > > не может передать больше 700Mbit/s, а у дисков ещё есть некоторый запас
> > > > > > до 1Gbit/s. На других картах пока не тестировали.
> > > > > 
> > > > > на em упретесь в 800 под 7.0, думаю
> > > > 
> > > > Возможно. Причём, 1Gbit/s bge принимает.
> > > > 
> > > > > Сколько дисков, если не секрет ?
> > > > 
> > > > 4 в gmirror.
> > > так и думал
> > > какой алгоритм балансировки ?
> > 
> > round-robin. Всё остальное хуже.
> > Диски - SATA, Hitachi 1T.
> не думаю что диски вытянут 25МБ/c среднего трафа в round-robin

Это смотря как читать :) Пока в пике было такое (~700Mbit/s):

 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    2     26     26  19411   21.1      0      0    0.0   50.4| ad16
    1     26     26  21196   23.9      0      0    0.0   53.5| ad18
    2     26     26  21514   23.1      0      0    0.0   52.3| ad20
    2     26     26  22787   24.9      0      0    0.0   56.2| ad22
    7    104    104  84909   23.3      0      0    0.0   87.6| mirror/dat

Когда пробовал prefer, чтобы посмотреть, что может выдать один диск, было так:

 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    0      0      0      0    0.0      0      0    0.0    0.0| ad16
    0      0      0      0    0.0      0      0    0.0    0.0| ad18
    0      0      0      0    0.0      0      0    0.0    0.0| ad20
   14     53     53  45140  157.0      0      0    0.0  101.7| ad22
   14     53     53  45140  157.0      0      0    0.0  101.7| mirror/dat

Есть надежда разогнать ещё немного.

> попробуйте этот:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=113885

Спасибо, посмотрю.

> а что за фс, опции newfs (прошу прощения что так все выпрашиваю до
> собственно конференции :) 

Ничего необычного: ufs2, bs=64k (больше, увы, нельзя).

> > > не знаю, как для bge, но для em под 7-кой помогает ifconfig em0 -tso
> > > чтоб поднять траф с 800 до 1000
> > 
> > TSO в bge нет.
> раз нет то и проблем с ним не должно быть, в 6.x на em тоже нет tso -
> там сразу 1000 достигается
> > 
> > > ну и там поиграться с isr.direct, intr_queue_maxlen, настройками
> > > поллинга
> > 
> > net.isr.direct включен (по умолчанию).
> выключение для em дает прирост производительности

Для bge в наших тестах было хуже.

> > Поллинг не используется, поскольку для bge в нём нет никакого смысла:
> > в карте можно гибко настраивать прерывания и от этих настроек предел
> > не менялся, только чилсло прерычваний от 1900 до 101000.
> понятно.
> 
> sendfile думаю уже выключен ? )))

Да, хотя у меня есть идея, как выдавать столько же sendfile'ом.
Очень уж он память экономит (и процессор, хотя это не столь критично
в данном случае).

Кстати, а кто-нибудь пробовал подобное на Линуксе ?


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list