Performance drop on Solaris 10U8 intel platfom

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--

Re: Performance drop on Solaris 10U8 intel platfom

am 25.02.2010 16:58:31 von Jeff Trawick

On Wed, Feb 24, 2010 at 9:39 AM, Luc Bastiaenssen
wrote:
> 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=A0 performance drop.
> Especially when you disable the keepalive directive, web pages seems to h=
ang
> 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.

no good ideas here, but as nobody else had one either I'll throw these in:

* contact Solaris support :)

* see if it is related to the EnableSendfile setting (NCA has some
relationship to the sendfilev API, but I don't know the details)
** if EnableSendfile is currently on, you could see if turning it off
results in the same performance before and after the upgrade (whether
or not that is similar to any of the results with EnableSendfile on)

------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org