время в логах на приличной нагрузке.

calculator at land.ru calculator at land.ru
Wed Sep 10 14:41:18 MSD 2008


Igor Sysoev пишет:
> On Tue, Sep 09, 2008 at 05:30:22PM +0400, calculator at land.ru wrote:
>
>   
>> Igor Sysoev пишет:
>>     
>>> On Tue, Sep 09, 2008 at 01:28:41PM +0400, calculator at land.ru wrote:
>>>
>>>  
>>>       
>>>> Igor Sysoev пишет:
>>>>    
>>>>         
>>>>> On Tue, Sep 09, 2008 at 12:44:21PM +0400, calculator at land.ru wrote:
>>>>>
>>>>>
>>>>>      
>>>>>           
>>>>>> Igor Sysoev пишет:
>>>>>>   
>>>>>>        
>>>>>>             
>>>>>>> On Tue, Sep 09, 2008 at 11:18:33AM +0400, calculator at land.ru wrote:
>>>>>>>
>>>>>>>
>>>>>>>     
>>>>>>>          
>>>>>>>               
>>>>>>>> Igor Sysoev пишет:
>>>>>>>>  
>>>>>>>>       
>>>>>>>>            
>>>>>>>>                 
>>>>>>>>> On Mon, Sep 08, 2008 at 07:11:59PM +0400, calculator at land.ru wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    
>>>>>>>>>         
>>>>>>>>>              
>>>>>>>>>                   
>>>>>>>>>> Наблюдаю интересную картину на Linux серверах с nginx на борту 
>>>>>>>>>> которые отдают ~10k/s empty_gif и пишут лог кто когда забрал.
>>>>>>>>>> Но вот в логе(если перелопатить его пару тонн) встречаются 
>>>>>>>>>> интересные unixtime, которые явно _не к месту_. К примеру:
>>>>>>>>>>
>>>>>>>>>> 1220880388504
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220880388496
>>>>>>>>>> 1220880388496
>>>>>>>>>> 1220880388496
>>>>>>>>>> 1220880388496
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220884786554
>>>>>>>>>> 1220880388496
>>>>>>>>>>
>>>>>>>>>> Если по человечески то разница получается более часа.
>>>>>>>>>> Есть предположение что это может быть связано с linux threads 
>>>>>>>>>> потому как на нескольких серверах под FreeBSD такого не 
>>>>>>>>>> наблюдалось(хотя нагрузка на них не большая).
>>>>>>>>>> На серверах nginx 5 ветки работает.
>>>>>>>>>> Что касается загрузки самих серверов, то они сечас нагружены на 
>>>>>>>>>> ~20% от максимума что показали на тестировании.
>>>>>>>>>> Есть идеи?
>>>>>>>>>>
>>>>>>>>>>      
>>>>>>>>>>           
>>>>>>>>>>                
>>>>>>>>>>                     
>>>>>>>>> А чем пишете ? nginx так не умеет. У него было бы
>>>>>>>>> 1220884786.554
>>>>>>>>> 1220880388.496
>>>>>>>>>
>>>>>>>>>    
>>>>>>>>>         
>>>>>>>>>              
>>>>>>>>>                   
>>>>>>>> Да там модуль постобработку делает. Извиняюсь что не упомянул, но в 
>>>>>>>> общем случае он порядок не меняет.
>>>>>>>> Что интересно _пляски_ начинаются стабильно от ~8k запросов.
>>>>>>>> Увеличение NGX_TIME_SLOTS может помочь?
>>>>>>>>  
>>>>>>>>       
>>>>>>>>            
>>>>>>>>                 
>>>>>>> Во-первых, поддержка трэдов на данный момент в nginx'е сломана - может
>>>>>>> быть всё, что угодно. Во-вторых, я в данном случае вообще не понимаю,
>>>>>>> что именно логируется.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     
>>>>>>>          
>>>>>>>               
>>>>>> Ага, исправлюсь. Вот формат логов.
>>>>>>
>>>>>>  log_format  counter  '$request_uri  $msec   $http_referer   
>>>>>> $remote_addr'
>>>>>>                      '       $http_user_agent        
>>>>>> $http_accept_language'
>>>>>>                      '       $http_x_forwarded_for'
>>>>>>                      '       $counter_uid';
>>>>>>  access_log  logs/access.log  counter;
>>>>>>
>>>>>>
>>>>>> После обработки примерно такие логи получаются:
>>>>>>
>>>>>> /two****request_uri     1220880388504   http_referer    78.107.87.211   
>>>>>> Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRSPUTNIK 2, 0, 0, 
>>>>>> 36 SW; .NET CLR 1.1.4322; InfoPath.1)     ru      -       
>>>>>> B0B903034799DD57:1201266007
>>>>>> /two***request_uri      1220884786554   -       81.24.208.13    
>>>>>> Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.16) 
>>>>>> Gecko/20080702 Firefox/2.0.0.16 WebMoney Advisor      
>>>>>> ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3     -       -
>>>>>> /two****request_uri     1220880388496   http_referer    78.132.162.209  
>>>>>> Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 5.0 (build 
>>>>>> 02094))       ru      -       E5930201476FE72C:1198516012
>>>>>>   
>>>>>>        
>>>>>>             
>>>>> Правильно ли я понимаю, что используется стандартный nginx без каких-либо
>>>>> дополнительных изменений и из логах в $msec потом просто убирается точка 
>>>>> ?
>>>>>
>>>>>
>>>>>      
>>>>>           
>>>> Да, именно так.
>>>>    
>>>>         
>>> А можно ещё писать в лог номер процесса, чтобы посмотреть, где идёт
>>> отставание ?
>>>  
>>>       
>> Да в том то и дело что нет. На боевом сервере формат логов оговорен, мы 
>> их отдаем на обработку потом. Если поднапрячься наверно можно 2 сервера 
>> еще собрать на тестирование но нужно будет еще код counter'а подправить.
>> Еще заметили закономерность что разница во времени всегда 4398 либо 4399
>>     
>
> Можно завести параллельно второй лог.
>
>
>   
Да, похоже во время больших нагрузок так и сделаем.
Но похоже нам придется немного код nginx'а дополнить чтобы pid в логи 
писать или я ошибаюсь?





More information about the nginx-ru mailing list