response times and network io
Joe Williams
joe at joetify.com
Sat Mar 1 07:00:18 MSK 2008
Thanks for the info Denis.
-joe
Denis S. Filimonov wrote:
> You are using a tiny file (robots.txt) for your measurements, which means HTTP
> headers constitute large part of the traffic and may well account for 10-15%
> difference.
>
> Denis.
>
> On Friday 29 February 2008 16:54:09 Joe Williams wrote:
>
>> Understood, thanks for the insight. The Nginx was consistently 10 to 15%
>> lower than Apache, such as 98MB/s versus 110MB/s.
>>
>> If you would like to see my results for httperf you can download the
>> spreadsheet here:
>> http://www.joeandmotorboat.com/wp-content/files/bench_results-comb-static.o
>> ds
>>
>>
>> I also posted about it here:
>> http://www.joeandmotorboat.com/2008/02/28/apache-vs-nginx-web-server-perfor
>> mance-deathmatch/
>>
>>
>> Let me know what you think.
>>
>> Thanks.
>> -Joe
>>
>> Igor Sysoev wrote:
>>
>>> On Fri, Feb 29, 2008 at 11:05:37AM -0600, Joe Williams wrote:
>>>
>>>> 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?
>>>>
>>> So nginx's network I/O is for example, 20M/s, while Apache's - 100M/s ?
>>>
>>> In this case network I/O and response times are the same things.
>>> The lesser response times, the more you can get for the same time.
>>>
>>> Apache usually does not start new processes, it has some number of
>>> already preforked processes ready to handle requests.
>>>
>>>
>>>> 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
>>>>>>
>>>>>> 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.
>>>>>>>
>>>>>>> -joe
>>>>>>>
>>>>>> --
>>>>>> Name: Joseph A. Williams
>>>>>> Email: joe at joetify.com
>>>>>>
>>>> --
>>>> Name: Joseph A. Williams
>>>> Email: joe at joetify.com
>>>>
>
>
>
>
--
Name: Joseph A. Williams
Email: joe at joetify.com
More information about the nginx
mailing list