atom feed8 messages in ru.sysoev.nginxRe: response times and network io
FromSent OnAttachments
Joe WilliamsFeb 28, 2008 6:06 pm 
Joe WilliamsFeb 28, 2008 6:24 pm 
Igor SysoevFeb 29, 2008 8:38 am 
Joe WilliamsFeb 29, 2008 9:05 am 
Igor SysoevFeb 29, 2008 1:23 pm 
Joe WilliamsFeb 29, 2008 1:53 pm 
Denis S. FilimonovFeb 29, 2008 2:43 pm 
Joe WilliamsFeb 29, 2008 7:59 pm 
Subject:Re: response times and network io
From:Joe Williams (joe-@public.gmane.org)
Date:Feb 29, 2008 9:05:14 am
List:ru.sysoev.nginx

I used httperf to give me the network I/O (KB/s) and response times. I could probably produce the sar data from each if you would like it. I assume the response times are due to Nginx not needing to take time to start up another process/thread?

Thanks. -Joe

Igor Sysoev wrote:

On Thu, Feb 28, 2008 at 08:24:24PM -0600, Joe Williams wrote:

please excuse my typo. regarding network I/O nginx uses consistently lower I/O than apache.

regardless i am curious about how it processes requests differently to obtain lower response times and network I/O.

How do you measure network I/O ?

In short, Apache and nginx use different model for processing requests. Apache processes connection in one process or thread while nginx processes thousand connections in one process/thread using scaleable methods such as kqueue/epoll/etc.

thanks for any help you can provide.

Joe Williams wrote:

i am performing some httperf tests against apache and nginx. something i noticed that piqued my interest were the consistency of response times (0.4 ms each run regardless of number of request, much lower than apache in all cases) and network I/O (consistently higher than apache regardless of number of request). it also uses less cpu than apache and doesn't nearly drive up the load.

are these normal results? is there a mechanism in nginx that keeps the response times low and consistent? also, is it normal that it uses more network I/O? if so, what is the cause? to me it would seem like that it uses more bandwidth to respond to the same number of requests which seems inefficient.

please correct me if i am wrong. i am just trying to understand the core differences in how nginx works in comparison to apache and why i would see these performance differences.

thanks for the help.