Performance drop on Solaris 10U8 intel platfom
am 24.02.2010 15:39:57 von Luc Bastiaenssen--------------080900030009050507050205
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Since our last upgrade to Solaris 10U8 on a Sun Fire X4200(2 cores, 8GB
memory) and Sun Fire X4450 (16 cores, 36GB memory), we notice
a serious apache performance drop.
Especially when you disable the keepalive directive, web pages seems to
hang for a moment before completing.
The following tests show that it might be related to the combination of
Solaris 10 U 8, Apache APR
and the Intel e1000g Gigabit Ethernet Adapter.
When we inject an extra layer based on NCA into the network stack, the
problem is gone.
These are the results of benchmark tests with the apache benchmark tool
'ab'.
In every case the ab tool requests a static html page of 33K and a
dynamic PHP page.
Tests were done both with Apache 2.2.14 and Sun JWS 7.
The tables shows 'request per second'.
Testcase 1: Solaris 10U8, ab on localhost (no HTTP requests through the
intel NIC)
------------------------------------------------------------ ----------------------
apache,html: 0.3ms
apache,php: 2.8ms
SunJWS,html: 3ms
SunJWS,php: 11ms
*On localhost: no problem*
Testcase 2: Solaris 10U8, ab from a client PC in a LAN (100Mb connection)
------------------------------------------------------------ ------------------
Apache,no keepalive,html 2200ms !
,no keepalive,php 3600ms !
,keepalive,html 4ms
,keepalive,php 650ms !
SunJWS,no keepalive,html 8ms
,no keepalive,php 13ms
,keepalive,html 4ms
*Obviously Apache has a problem with traffic flowing through the NIC.*
Testcase 3: Solaris 10U6, ab from a client PC in a LAN (100Mb connection)
------------------------------------------------------------ ------------------
Apache,no keepalive,html 10ms
,no keepalive,php 20ms
*Solaris 10U6 on the same server: no problem*
We also did tests with other projects based on the Apache APR and they all have the same problem.
*So it looks like there is a problem with Solaris 10U8, Apache APR and the intel NIC card.
*
Testcase 4: Solaris 10U8, NCA enabled, ab from a client PC in a LAN (100Mb connection)
------------------------------------------------------------ --------------------------
The Apache webserver does not make use of NCA caching, we just add the extra NCA layer
in the network stack.
Apache,no keepalive,html 10ms
,no keepalive,php 20ms
,keepalive,html 6ms
,keepalive,php 19ms
SunJWS,no keepalive,html 10ms
,no keepalive,php 13ms
,keepalive,html 3ms
,keepalive,php 12ms
*So by adding an extra layer (NCA) in the network stack the problem is solved !*
Anybody with the same problem ? Maybe on another platform ?
All suggestions are welcome.
Regards,
Luc
--------------080900030009050507050205
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Since our last upgrade to Solaris 10U8 on a Sun Fire X4200(2 cores, 8GB
memory) and Sun Fire X4450 (16 cores, 36GB memory), we notice
a serious apache performance drop.
Especially when you disable the keepalive directive, web pages seems to
hang for a moment before completing.
The following tests show that it might be related to the combination of
Solaris 10 U 8, Apache APR
and the Intel e1000g Gigabit Ethernet Adapter.
When we inject an extra layer based on NCA into the network stack, the
problem is gone.
These are the results of benchmark tests with the apache benchmark tool
'ab'.
In every case the ab tool requests a static html page of 33K and a
dynamic PHP page.
Tests were done both with Apache 2.2.14 and Sun JWS 7.
The tables shows 'request per second'.
Testcase 1: Solaris 10U8, ab on localhost (no HTTP requests through
the intel NIC)
------------------------------------------------------------ ----------------------
apache,html: 0.3ms
apache,php: 2.8ms
SunJWS,html: 3ms
SunJWS,php: 11ms
On localhost: no problem
Testcase 2: Solaris 10U8, ab from a client PC in a LAN (100Mb
connection)
------------------------------------------------------------ ------------------
Apache,no keepalive,html 2200ms !
,no keepalive,php 3600ms !
,keepalive,html 4ms
,keepalive,php 650ms !
SunJWS,no keepalive,html 8ms
,no keepalive,php 13ms
,keepalive,html 4ms
Obviously Apache has a problem with traffic flowing through the NIC.
Testcase 3: Solaris 10U6, ab from a client PC in a LAN (100Mb connection)
------------------------------------------------------------------------------
Apache,no keepalive,html 10ms
,no keepalive,php 20ms
Solaris 10U6 on the same server: no problem
We also did tests with other projects based on the Apache APR and they all have the same problem.
So it looks like there is a problem with Solaris 10U8, Apache APR and the intel NIC card.
Testcase 4: Solaris 10U8, NCA enabled, ab from a client PC in a LAN (100Mb connection)
--------------------------------------------------------------------------------------
The Apache webserver does not make use of NCA caching, we just add the extra NCA layer
in the network stack.
Apache,no keepalive,html 10ms
,no keepalive,php 20ms
,keepalive,html 6ms
,keepalive,php 19ms
SunJWS,no keepalive,html 10ms
,no keepalive,php 13ms
,keepalive,html 3ms
,keepalive,php 12ms
So by adding an extra layer (NCA) in the network stack the problem is solved !
Anybody with the same problem ? Maybe on another platform ?
All suggestions are welcome.
Regards,
Luc
--------------080900030009050507050205--