You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2014/03/17 21:18:38 UTC
[Bug 56279] New: [PATCH]prefork_mpm patch
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Bug ID: 56279
Summary: [PATCH]prefork_mpm patch
Product: Apache httpd-2
Version: 2.5-HEAD
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mpm_prefork
Assignee: bugs@httpd.apache.org
Reporter: Yingqi.Lu@intel.com
Created attachment 31396
--> https://issues.apache.org/bugzilla/attachment.cgi?id=31396&action=edit
[PATCH]prefork_mpm patch
This patch is originally part of the patch# 55897. Based on the feedback from
httpd developer community, we decided to separate the original patch into two
different patches. The SO_REUSEPORT patch and this bucket patch. Here is the
information on this bucket patch:
Our analysis of Apache httpd 2.4.7 prefork mpm, on 32 and 64 thread Intel Xeon
2600 series systems, using an open source three tier social networking web
server workload, revealed performance scaling issues. In current software
single listen statement (listen 80) provides better scalability due to
un-serialized accept. However, when system is under very high load, this can
lead to big number of child processes stuck in D state. On the other hand, the
serialized accept approach cannot scale with the high load either. In our
analysis, a 32-thread system, with 2 listen statements specified, could scale
to just 70% utilization, and a 64-thread system, with signal listen statement
specified (listen 80, 4 network interfaces), could scale to only 60%
utilization.
Based on those findings, we created this prototype patch for prefork mpm which
extends performance and thread utilization. We modified the "multiple listen
statement case" by creating 1 listen record for each listen statement and
partitioning the child processes into different buckets. Each bucket listens to
1 IP:port.
Quick tests of the patch, running the same workload, demonstrated a 10%
throughput increase with 32-threads system and 2 listen statements and 20%
throughput increase with 48-threads system and 2 listen statements. Both
testing systems are from Intel Xeon 2600 series and Linux kernel version is
3.13.6. We also observed big reduction in response time, in addition to the
throughput improvement gained in our tests 1.
Please help us review it and let us know if there is anything we might revise
to improve it. Your feedback is very much appreciated.
Configuration:
<IfModule prefork.c>
ListenBacklog 105384
ServerLimit 105000
MaxClients 1024
MaxRequestsPerChild 0
StartServers 64
MinSpareServers 8
MaxSpareServers 16
</IfModule>
1. Software and workloads used in performance tests may have been optimized for
performance only on Intel microprocessors. Performance tests, such as SYSmark
and MobileMark, are measured using specific computer systems, components,
software, operations and functions. Any change to any of those factors may
cause the results to vary. You should consult other information and performance
tests to assist you in fully evaluating your contemplated purchases, including
the performance of that product when combined with other products.
Thanks,
Yingqi Lu
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[PATCH]prefork_mpm patch |[PATCH]mpm patch
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #31396|0 |1
is obsolete| |
--- Comment #1 from Yingqi.Lu@intel.com ---
Created attachment 31617
--> https://issues.apache.org/bugzilla/attachment.cgi?id=31617&action=edit
mpm patch
This newer version of the patch extends from original prefork mpm to all three
mpms for Linux OS (prefork, worker and event)
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]prefork_mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|mpm_prefork |All
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #31617|0 |1
is obsolete| |
--- Comment #2 from Yingqi.Lu@intel.com ---
Created attachment 31682
--> https://issues.apache.org/bugzilla/attachment.cgi?id=31682&action=edit
[PATCH]mpm patch
Based on the feedback received from the developer community, I keep the
ap_mpm_pod_signal() and ap_mpm_pod_killpg() exactly the same as the original
ones. I modify dummy_connection() instead.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yann Ylavic <yl...@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #3 from Yann Ylavic <yl...@gmail.com> ---
*** This bug has been marked as a duplicate of bug 55897 ***
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]prefork_mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |Yingqi.Lu@intel.com
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org
[Bug 56279] [PATCH]prefork_mpm patch
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56279
Yingqi.Lu@intel.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |PatchAvailable
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org