timer_resolution / $request_time

Maxim Dounin mdounin at mdounin.ru
Fri Aug 27 02:59:49 MSD 2010


Hello!

On Thu, Aug 26, 2010 at 11:23:47PM +0200, Xavier Martin wrote:

> Hello,
> 
> I've been using this settings for a while:
> timer_resolution 100ms;
> log_format combined_time '$remote_addr - $remote_user [$time_local]  '
>                    '"$request" $status $body_bytes_sent '
>                    '"$http_referer" "$http_user_agent"'
>                    ' $request_time';
> access_log /var/log/access.log combined_time;
> 
> Right now i'm needing more precise timestamp in logs
> => finding requests that took less than 50ms to complete.
> 
> I would like to know what are the drawbacks of using a lower number
> (i.e 10ms, 0ms or not setting at all timer_resolution) and overhead that would cause (if any).

With timer_resolution unset (set to 0, default) nginx will call 
gettimeofday() on every event loop iteration.  With 
timer_resolution set nginx will schedule 
gettimeofday() calls at specified interval.

Obviously changing it from 100ms to 10ms would cause 10 times
more gettimeofday() calls.  But most likely you won't notice.

But actually I would recommend using the default (i.e. unset).  
It's not really different from 10ms on loaded servers and wouldn't 
cause extra work on otherwise idle servers.

Maxim Dounin



More information about the nginx mailing list