|
ABSTRACT
The performance of server-side applications is becoming increasingly important as more applications exploit the Web application model. Extensive work has been done to improve the performance of individual software components such as Web servers and programming language runtimes. This paper describes a novel approach to boost Web application performance by improving inter-process communication between a programming language runtime and Web server runtime. The approach reduces redundant processing for memory copying and the context switch overhead between user space and kernel space by exploiting the zero-copy data transfer methodology, such as the sendfile system call. In order to transparently utilize this optimization feature with existing Web applications, we propose enhancements of the PHP runtime, FastCGI protocol, and Web server. Our proposed approach achieves a 126% performance improvement with micro-benchmarks and a 44% performance improvement for a standard Web benchmark, SPECweb2005.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
Mark R. Brown, "FastCGI: A High-Performance Gateway Interface", Fifth International World Wide Web Conference, 1996
|
| |
6
|
Mark R. Brown, "Understanding FastCGI Application Performance", http://www.fastcgi.com/
|
| |
7
|
|
| |
8
|
Lighttpd, http://www.lighttpd.net/
|
| |
9
|
PHP, http://www.php.net/
|
| |
10
|
|
 |
11
|
|
| |
12
|
Gaurav Banga, Peter Druschel, Jeffrey C. Mogul, Better operating system features for faster network servers, In Proc. Of the Workshop on Internet Server Performance 1999
|
| |
13
|
SCGI: A Simple Common Gateway Interface Alternative, http://python.ca/scgi/protocol.txt
|
| |
14
|
SPECweb2005 http://www.spec.org/web2005/
|
| |
15
|
Khalil Amiri, Sanghyun Park, et al., "DBProxy: A dynamic data cache for Web applications" ICDE 2003, pages 821--831, 2003
|
 |
16
|
|
| |
17
|
|
| |
18
|
Dong-Jae Kang, Young-Ho Kim, et al., Design and Implementation of Zero-Copy Data Path for Efficient File Transmission, Sep, 2006
|
| |
19
|
Netcraft, http://survey.netcraft.com/Reports/200806/
|
| |
20
|
Apache Web Server: http://httpd.apache.org/
|
| |
21
|
Amol Shukla , Lily Li , Anand Subramanian , Paul A. S. Ward , Tim Brecht, Evaluating the performance of user-space and kernel-space web servers, Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research, p.189-201, October 04-07, 2004, Markham, Ontario, Canada
|
| |
22
|
Ruby, http://www.ruby-lang.org/en/
|
| |
23
|
Scott Trent , Michiaki Tatsubori , Toyotaro Suzumura , Akihiko Tozawa , Tamiya Onodera, Performance Comparison of PHP and JSP as Server-Side Scripting Languages, Proceedings of the ACM/IFIP/USENIX 9th International Middleware Conference, December 01-05, 2008, Leuven, Belgium
[doi> 10.1007/978-3-540-89856-6_9]
|
 |
24
|
|
| |
25
|
Sathish K. Palaniappen, et al., Efficient Data Transfer through zero copy, IBM developerworks, Sep, 2008 http://www.ibm.com/developerworks/library/j-zerocopy
|
 |
26
|
|
| |
27
|
Nick Mitchell, Gary Sevitsky, Harini, Srivivasan, et al., The Diary of a Datum: An Approach to Modeling Runtime Complexity in Framework-Based Applications , IBM Research Report, RC23703, 2005
|
| |
28
|
Akihiko Tozawa, Michiaki Tatsubori, Scott Trent, Toyotaro Suzumura, and Tamiya Onodera, P9: High Performance PHP Runtime, Japan Society for Software Science and Technology, 25th Workshop, 2008
|
| |
29
|
OProfile, http://oprofile.sourceforge.net/
|
| |
30
|
Netperf, http://www.netperf.org/
|
| |
31
|
|
 |
32
|
|
| |
33
|
Emmanuel Cecchet , Anupam Chanda , Sameh Elnikety , Julie Marguerite , Willy Zwaenepoel, Performance comparison of middleware architectures for generating dynamic web content, Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware, June 16-20, 2003, Rio de Janeiro, Brazil
|
|