Volume 1, Number 1 December 1, 2008
Total Page:16
File Type:pdf, Size:1020Kb
Volume 1, Number 1 http://jisar.org/1/1/ December 1, 2008 In this issue: Comparison of Dynamic Web Content Processing Language Performance Under a LAMP Architecture Musa J. Jafar Russell Anderson West Texas A&M University West Texas A&M University Canyon, TX 79018 USA Canyon, TX 79018 USA Amjad A. Abdullat West Texas A&M University Canyon, TX 79018 USA Abstract: LAMP is an open source, web-based application solution stack. It is comprised of (1) an operating system platform running Linux, (2) an Apache web server, (3) a MySQL database management system, and (4) a Dynamic Web Content Processor (tightly coupled with Apache) that is a combination of one or more of Perl, Python and PHP scripting languages paired with their corresponding MySQL Database Interface Module. In this paper, we compare various performance measures of Perl, Python and PHP separately without a database interface and in conjunction with their MySQL Database Interface Modules within a LAMP framework. We performed our tests under two separate Linux, Apache and Dynamic Web Content environments: an SE Linux environment and a Redhat Enterprise Linux environment. A single MySQL database management system that resided on a separate Redhat Linux box served both environments. We used a hardware appliance framework for our test configuration, generation and data gathering. An appliance framework is repeatable and easily configurable. It allows a performance engineer to focus effort on the design, configuration and monitoring of tests, and the analysis of test results. In all cases, whether database connectivity was involved or not, PHP outperformed Perl and Python. We also present the implementation of a mechanism to handle the propagation of database engine status-codes to the web-client, this is important when automatic client-based testing is performed, because the HTTP server is incapable of automatically propagating third-tier applications status-codes to the HTTP client. Keywords: LAMP solution stack, Web Applications Development, Perl, Python, PHP, MySQL, APACHE, Linux, DBI, Dynamic Web Content Processor, HTTP 1.1 status-code Recommended Citation: Jafar, Anderson, and Abdullat (2008). Comparison of Dynamic Web Content Processing Language Performance Under a LAMP Architecture. Journal of Information Systems Applied Research, 1 (1). http://jisar.org/1/1/. ISSN: 1946-1836. (Preliminary version appears in The Proceedings of CONISAR 2008: §2732. ISSN: 0000-0000.) This issue is on the Internet at http://jisar.org/1/1/ JISAR 1 (1) Journal of Information Systems Applied Research 2 The Journal of Information Systems Applied Research (JISAR) is a peer-reviewed academic journal published by the Education Special Interest Group (EDSIG) of the Association of Infor- mation Technology Professionals (AITP, Chicago, Illinois). • ISSN: 1946-1836. • First issue: 1 Dec 2008. • Title: Journal of Information Systems Applied Research. Variants: JISAR. • Phys- ical format: online. • Publishing frequency: irregular; as each article is approved, it is published immediately and constitutes a complete separate issue of the current volume. • Single issue price: free. • Subscription address: [email protected]. • Subscription price: free. • Electronic access: http://jisar.org/ • Contact person: Don Colton ([email protected]) 2008 AITP Education Special Interest Group Board of Directors Paul M. Leidig Don Colton Robert B. Sweeney Grand Valley State University Brigham Young Univ Hawaii U South Alabama EDSIG President 2005-2006 EDSIG President 2007-2008 Vice President 2007-2008 Wendy Ceccucci Ronald I. Frank Kenneth A. Grant Quinnipiac Univ Pace University Ryerson University Member Svcs 2007-2008 Director 2007-2008 Treasurer 2007-2008 Albert L. Harris Thomas N. Janicki Kevin Jetton Kathleen M. Kelm Appalachian St Univ NC Wilmington Texas St U San Marcos Edgewood College JISE Editor Director 2006-2009 Chair ISECON 2008 Director 2007-2008 Alan R. Peslak Steve Reames Patricia Sendall Penn State Angelo State Univ Merrimack College Director 2007-2008 Director 2008-2009 Secretary 2007-2008 Journal of Information Systems Applied Research Editors Don Colton Alan R. Peslak Thomas N. Janicki Professor Associate Professor Associate Professor BYU Hawaii Penn State UNC Wilmington Editor Associate Editor Associate Editor This paper was selected for inclusion in the journal as the CONISAR 2008 best paper. The accep- tance rate is typically 1% for this category of paper based on blind reviews from six or more peers including three or more former best papers authors who did not submit a paper in 2008. EDSIG activities include the publication of JISAR and ISEDJ, the organization and execution of the annual CONISAR and ISECON conferences held each fall, the publication of the Journal of Information Systems Education (JISE), and the designation and honoring of an IS Educator of the Year. • The Foundation for Information Technology Education has been the key sponsor of ISECON over the years. • The Association for Information Technology Professionals (AITP) provides the corporate umbrella under which EDSIG operates. c Copyright 2008 EDSIG. In the spirit of academic freedom, permission is granted to make and distribute unlimited copies of this issue in its PDF or printed form, so long as the entire document is presented, and it is not modified in any substantial way. c 2008 EDSIG http://jisar.org/1/1/ December 1, 2008 JISAR 1 (1) Jafar, Anderson, and Abdullat 3 Comparison of Dynamic Web Content Processing Language Performance Under a LAMP Architecture Musa Jafar [email protected] Russell Anderson [email protected] Amjad Abdullat [email protected] CIS Department, West Texas A&M University Canyon, TX 79018 USA Abstract LAMP is an open source, web-based application solution stack. It is comprised of (1) an oper- ating system platform running Linux, (2) an Apache web server, (3) a MySQL database man- agement system, and (4) a Dynamic Web Content Processor (tightly coupled with Apache) that is a combination of one or more of Perl, Python and PHP scripting languages paired with their corresponding MySQL Database Interface Module. In this paper, we compare various performance measures of Perl, Python and PHP separately without a database interface and in conjunction with their MySQL Database Interface Modules within a LAMP framework. We per- formed our tests under two separate Linux, Apache and Dynamic Web Content environments: an SE Linux environment and a Redhat Enterprise Linux environment. A single MySQL data- base management system that resided on a separate Redhat Linux box served both environ- ments. We used a hardware appliance framework for our test configuration, generation and data gathering. An appliance framework is repeatable and easily configurable. It allows a performance engineer to focus effort on the design, configuration and monitoring of tests, and the analysis of test results. In all cases, whether database connectivity was involved or not, PHP outperformed Perl and Python. We also present the implementation of a mechanism to handle the propagation of database engine status-codes to the web-client, this is important when automatic client-based testing is performed, because the HTTP server is incapable of automatically propagating third-tier applications status-codes to the HTTP client. Keywords : LAMP solution stack, Web Applications Development, Perl, Python, PHP, MySQL, APACHE, Linux, DBI, Dynamic Web Content Processor, HTTP 1.1 status-code web server, MySQL for database manage- 1. INTRODUCTION ment, and a combination of Perl, Python or The term LAMP, originally formalized by PHP as language(s) to generate dynamic Dougherty (2001) of O'Reilly Media, Inc., content on the server. More recently, Ruby refers to the non-proprietary, open source, was added to the platform. Lately, Some web development, deployment, and produc- deployments replaced Apache with lighthttpd tion platform that is comprised of individual from Open Source or IIS from Microsoft. open source components. LAMP uses Linux Depending on the components replaced, the for the operating system, Apache for the platform is also known as WAMP when Mi- c 2008 EDSIG http://jisar.org/1/1/ December 1, 2008 JISAR 1 (1) Jafar, Anderson, and Abdullat 4 crosoft Windows replaces Linux or WI MP closest are the studies by Gousios (2002), when Microsoft Windows replaces Linux and Cecchet (2003) and Titchkosky (2003). IIS server replaces Apache. Doyle (2008) In this paper, we perform a complete study provided more information on the evolution comparing the performance of Perl, Python of the various dynamic web content proces- and PHP separately and in conjunction with sors framework and the various technologies their database connectors under LAMP archi- for web applications development. tecture using two separate Linux environ- Pedersen (2004), Walberg (2007) and Me- ments (SE Linux and Redhat Enterprise nascé (2002) indicated that to measure a Linux). The two environments were served web application’s performance, there are by a third Linux environment hosting the many factors to consider that are not neces- backend MySQL database. The infrastruc- sarily independent. It requires the fine tun- ture that we used to emulate a web-client ing and optimization of bandwidth, proc- and to configure and generate tests was a esses, memory management, CPU usage, hardware appliance-based framework. It is disk usage, session management, granular fundamentally different from the infrastruc- configurations across the board, kernel re- ture used by