ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx-1.2.5



Hello!

On Wed, Nov 14, 2012 at 08:41:21PM +0400, Anton Yuzhaninov wrote:

> On 11/14/12 20:10, Maxim Dounin wrote:
> >Но да, стоимость действий, происходящих в системе на каждое
> >соединение, по очевидным причинам в разы превышает стоимость двух
> >атомарных операций.  Так что не думаю, что эффект от них удастся
> >измерить, даже если захотеть.
> 
> Производительномсть роутинга под FreeBSD измеримо увеличивается,
> если отключить высего один счетчик на каждый пакет:
> http://lists.freebsd.org/pipermail/freebsd-net/2012-July/032682.html

Ну вот и считай - на прямом форвардинге пакетов, в ядре, без 
всяких syscall'ов и обработки tcp, имеем 1.9% +/- 0.3% 
разницы:

$ ministat t1 t2
...
Difference at 95.0% confidence
        33898.2 +/- 5982.88
        1.90353% +/- 0.335965%
        (Student's t, pooled s = 4019.36)

Теперь вспоминаем, что в соединении с хоть одним запросом минимум 
8 пакетов.  На выходе не факт что измеримый эффект.

Но, честно говоря, я так подозреваю, что даже цифры выше - это, 
скорее всего, далеко не просто стоимость инструкций, а результат 
выбрасывания нужных данных из кеша процессоров из-за обновления 
счётчика (читай: cache line flush'ился, и route entry при других к 
ней обращениях приходилось перегружать из памяти).  В этом месте 
nginx поступает как правильно, и счётчики держит отдельно от 
всего, да ещё и с отступом в cache line между ними.

-- 
Maxim Dounin
http://nginx.com/support.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.