We have tried to compare PHP 5.0 vs ASP.NET 3.5 performance in our masters thesis. We also discuss quality attributes i.e. scalability, variability, maintainability, security, availability, scalability, etc for PHP, ASP.NET and EJB ( Enterprise JavaBeans). We are graduate students at Malardalen University, Sweden. Thesis team consists of two members Mohsin Javed Khan and Hussan Iftikhar. Thesis supervisor is Frank Luders. The documentation of thesis will be available soon on the website.
Sponsored Link: Top Universities in USA 2010, Top Universities in the World, Affordable web hostingThe thesis is an empirical case study to predict or estimate the performance and variability of contemporary software frameworks used for web application development. Thesis can be mainly divided into 3 phases. In Phase I, we theoretically try to explore and analyze PHP, EJB 3.0 (Enterprise Java Beans) and ASP.NET considering quality attributes or ilitis of mentioned technologies. In Phase II, we develop two identical web applications i.e. online component’s webstore (applications to purchase components online) in PHP and ASP.NET. In phase III, we conduct automated testing to determine and analyze applications’ performance. We developed web applications in PHP 5.3.0 and Visual Studio 2008 using ASP.NET 3.5 to practically measure and compare the applications’ performance. We used SQL Server 2005 with ASP.NET 3.5 and MySql 5.1.36 with PHP as database servers. Software architecture, CSS, database design, database constraints were tried to keep simple and same for both applications i.e. Applications developed in PHP and ASP.NET. This similarity helps to establish realistic comparison of applications performance and variability. The applications’ performance and variability is measured with help of automated scripts. These scripts were used to generate thousands of requests on application servers and downloading components simultaneously. More details of performance testing can be found in chapter 6, 7 and 8.
Sponsored Link: Top Universities in Canada 2010, Top Universities in the Australia
The thesis aimed at calculating and analyzing the performance and variability of
ASP.NET 3.5 and PHP 5.3.0 frameworks. We developed web application i.e. components
webstore using these frameworks. During application development, we found opportunity
to observe quality attributes mainly: usability, modifiability, maintainability,
etc of both web application frameworks. We found that Visual studio 2008 along with
ASP.NET provide a strong IDE(Integrated Development Environment) for web application
development. Visual studio maintains markup and programming files separately. It
is easy to manage code and markup in two files. PHP uses only one file for markup
and programming logic. ASP.NET framework also provides big number of built-in classes.
However, PHP provides limited built-in classes. PHP application development is mostly
done in Dreamweaver. Dreamweaver application development environment provides limited
functionalities and features. Visual studio provides many rich features to facilitate
programmer like coding suggestions, strong debugging, better and easy management
of assemblies, files and web services. ASP.NET application also provides better
error trace than PHP application. Thus, application development is easier and faster
using ASP.NET than PHP.
We performed a number of automated tests to measure the
performance of these applications. We performed small scale, large scale and download
tests. In terms of performance, ASP.NET performed slightly better than PHP in small
scale tests. However, ASP.NET and PHP showed mixed results in large scale tests.
PHP performed better in database access from multiple tables. In download testing
PHP performed faster and out classed ASP.NET in all 5 tests
Automated software
sent automated requests simultaneously from the clients. These simultaneous requests
were intended to maintain stress on server. We found testing results very interesting.
In small scale and large scale testing, almost each of PHP clients has one bad request.
This bad request’s completion time is normally 50% of total response time. In one
time, this bad request consumed more than 95% of clients total response time. We
used median response time so that we can measure application performance without
considering few bad response times. In some tests, we see that ASP.NET clients have
better total and average response time, but PHP clients have better median time.
We also discussed some of factors affecting the results. Some of these factors are
network delay, socket management, operating system etc. More work and tests can
be done to analyze these factors in detail. Ideal PHP application should be deployed
on operating system Linux. It should also be interesting to host PHP application
on Linux and ASP.NET application on windows. Then, we can perform few performance
tests and can see the results.
However, due to time limitations, we used only few
statistical methods to analyze the results. Data is available and more sophisticated
and complex statistical methods can be applied to data for analyzing the results
deeply. More Automated software can be used to perform more and new type of tests.
Also, variability is not measured in detail in this report. More statistical methods
like variance, standard deviations, normal distributions and normal curves can be
applied to data for observing variability deeply. Another important aspect is to
measure the resource utilization by PHP, ASP.NET, IIS, APACHE and database servers.
It will be interesting to observer when we link performance with resource utilization.