Design & Implementation of Jmeter Framework For

Design & Implementation of Jmeter Framework For

International Interdisciplinary Conference on Science Technology Engineering Management Pharmacy and Humanities Held on 22nd – 23rd April 2017, in Singapore ISBN: 9780998900001 DESIGN & IMPLEMENTATION OF JMETER FRAMEWORK FOR PERFORMANCE COMPARISON IN PHP & PYTHON WEB APPLICATIONS Varun Kumar Dr. Vinay Chopra Ghanchi Media Pvt. Ltd, India CSE Department, Punjab Technical University, India Ravneet Singh Makkar Jaskarn Singh Panesar Student at DAVIET Student at DAVIET Abstract— The absence of the extensive outperformed Yii framework based on the number performance comparison for websites in multiple of samples processed over time. On the other hand, framework has been a major hindrance in this Yii utilized lesser CPU Processing than symfony for area. There is a need of proactive charting which the same kind of task and it was also found to be then can be referred to before selecting a more responsive. Django application, on the other framework for web development. The use of best hand, was found to be more efficient as compare to practices is imperative and worthwhile, PHP frameworks in all the scenarios. notwithstanding the performance of an application Keywords— WAMP, performance comparative can’t be undermined. While the former, in general, analysis, MVC, KPI, Jmeter, PHP, Python, Django, tackles DRY (Don’t Repeat Yourself) approach, RoR, Symfony. thus reducing the management of plethora of code; Introduction the later, on contrary, deals with minimizing the A Web framework is a collection of packages or perceived delay in page load time. components that allow developers to write Web In this paper we investigate the performance of Yii applications or services without having to handle such & Symfony, which are PHP based frameworks and low-level details and reinventing the wheel. Most if Django, which is a Python framework. Different not all web frameworks are built on the DRY (Don‟t applications are developed for different Repeat Yourself) approach. Anything that is repeated frameworks, but each with a unique user interface. in two or more places is more difficult to maintain. Also, each application shares a common MySQL Every time a change or correction is made, multiple database. locations must be updated, which increases the chance These results are further used to conduct of errors and inconsistencies. To avoid this, performance comparative analysis, which is to programmer‟s follow the DRY Principle, for “don't identify that which among other frameworks repeat yourself,” which applies to both data and code perform better in-terms of 3 KPI’s (Key [21]. The framework aims to ease the overhead Performance Identifiers). At the end it concludes associated with the common tasks achieved in web that in terms of throughput, Symfony 85 International Interdisciplinary Conference on Science Technology Engineering Management Pharmacy and Humanities Held on 22nd – 23rd April 2017, in Singapore ISBN: 9780998900001 development. The overall goal of the web frameworks distributes the responsibilities of any web is to decrease the Development time. development tasks into three main roles thus allowing Each framework in general adopts a single more efficient Development Effort. These are design, architectural pattern and multiple design patterns. The development and integration [22]. Development role is architectural pattern may be modified to suite the taken care by the programmers. The design role is inherent requirements of the web framework. Each taken care by the designers who design the look and framework comprises libraries for database access, feel of the application. Integration role integrates the session management, templating by promoting the roles of designers and developers to create an code reusability etc. application in its entirety. A large number of websites are developed on PHP. As Model part in the MVC deals with the data and the per Netcraft‟s survey, their exists at minimum 244 business rules. View on the other hand holds user Million PHP based websites with 2.1 Million unique interface elements. Controller provides interaction IP addresses [26]. MySQL on the other hand is an between Model and View Layers. There is also a open source database management system, which is Router component involved that receives user request also being used extensively on the Internet. Ruby, and passes it to the controller. It helps URL formation. Python and PHP are the dominant technologies Symfony, Yii and Django are all MVC based together holding 82.30% of all the websites [16] on Frameworks (more or less). The Symfony is a set of the Internet. MySQL along with with PHP and Apache reusable PHP components developed by Sensio Labs. forms a web development stack that integrates well These PHP components are more cohesive and less with each other. coupled thus increasing the reusability to other custom In this paper we present the results we obtained while applications [7]. The Yii framework is a high investigating some performance issues related to Yii, performance PHP framework with out of the box web Symfony, & Django applications built with these 2.0 standards support [8]. Django on the other hand is frameworks. Afterwards, the performance comparative an open source web framework built on Python that analysis on the results of these framework‟s is follows Model-View-Template (MVT) architectural performed. pattern. MVC Architectural patterns The following diagram in (Figure-1) represents a An architectural pattern is a design pattern but with a typical workflow of the PHP [20] MVC framework much wider scope. It gives a reusable solution to a called Yii application framework. common problem. Some of the problems that are addressed are availability, performance, SQL abstraction (embedding SQL in programming language). The MVC pattern: MVC architectural pattern is used to link the gap between user interface on one end and programming code on the other end thus performing a separation of tasks for the web Fig. 1 Model View Controller [27] developers and designers. The MVC pattern 86 International Interdisciplinary Conference on Science Technology Engineering Management Pharmacy and Humanities Held on 22nd – 23rd April 2017, in Singapore ISBN: 9780998900001 Analyzing Web Application Performance work done relative to the performance comparative Performance in simple terms is finding the acceptable analysis of their frameworks on multiple parameters at page load time. From the click on a URL to the point application level. But, there has been a substantial at which the page is completely displayed on the amount of work done to analyze performance in-terms destination PC is termed as page load time. Page load of response time of applications. María del Pilar time depends on the discovery (DNS lookup) and Salas-Zárate et al (2015) in the paper discussed about transfer (sending request & response to the client and the best practices of different web application server respectively) [11]. framework by comparing a scala based framework Lift The overall goal of improving performance is to and concludes that lift supports relatively more minimize the perceived delay the user experiences features compare to other discussed frameworks [2]. between the moment he clicks on the link and the page As a proof of concept Lift based web applications is finally displayed. were developed by applying best practices such as Over the last couple of years performance of web actors, lazy loading, Comet support, SiteMap, Wiring, applications became more important to businesses as HyperText Markup Language, version 5 (HTML5) search engines (such as Google) factor in performance support, and parallel rendering. into their ranking. This ultimately leads to Dragos-Paul Pop et al (2014) discussed about the Performance == Better Visibility == More Users == MVC architecture for rapid application development. More Revenue [18]. Many other components were discussed like security, Strategies for improving performance: form generation and validation, database access and Decreasing the number of requests. This can be done routing. This paper encourages the separation of by reducing the number of resources by using sprites presentation from logic and data storage in an [14] and combining JavaScript [15]. application [3]. Major objective of this paper are (1) Optimizing the rendering speed. This can be done, for Reduction in development time, (2) Reusability & example, by using more efficient CSS selectors, a Maintainability of code. better page layout, and optimizing the JavaScript code Varsha Apte et al (2002) in the paper conducted a [12]. performance comparison of four web programming Making the loading time appear shorter. Leverage how technologies, namely, Java Servlets, Java Server humans perceive information to make the delay appear Pages, CGI/Cpp and FastCGI/Cpp. In this paper, the less than it really is by adding loading indicators [13]. comparison is based on two cases: one is a case study Key Performance Identifiers: of a complex application that was deployed in an by identifying its number of responses per second. actual Web-based service; the other is a „trivial‟ by identifying the response time. application [4]. The methodology of performance by identifying the CPU utilization where the server is analysis was stress testing and measurement. The located. performance analysis parameters were Response time, Related Work CPU Utilization, Concurrent Users, Throughput. Even though PHP, Python and Ruby are very popular Md Umar Khan and Dr T.V. Rao et al. (2014)

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us