CS 491B Project
Web Galaxy
Wendy Tan
Web GalaxyProject IntroductionDemoAnalysis
Project IntroductionE-commerce Web Site in three setupsContent
Product Display by product categoryProduct SearchShopping Cart
Three SetupsRed Hat Linux
Apache 1.3
MySQL
MOD_PERLMason
Window 2000
IIS 5.0
SQL 2000
C# ASP.NET
Window 2000
Apache Tomcat
MySQL
JSP/Servlet
MotivationCurious about different choices of web server setup and server-side languagesHave done similar web programming project for CS 437, want to try something new PERL/MySQL/Apache/JavascriptYears of work experience in web site development
HardwarePentium III 700 MHZ128 MB RAM12 GB Hard drive
DemoSetup 2 – written in C#Setup 3 – written in JSP/Servlets
AnalysisDatabase comparison (Emphasis)Language comparisonWeb Server comparisonPerformance Chart of Setup 2 and Setup 3
Database ComparisonHardwareOperating SystemPriceFeatureConclusion
Database HardwareSQL 2000 MySQL
Pentium 166 MHz or higher
128 MB RAM or more
recommended
270 MB hard disk
(full installation)
Should have at least 32
MB RAM and at least
60 MB hard disk
Database Operating System
SQL 2000 MySQL
Windows-based Windows-based
Sun Solaris; FreeBSD
Mac OS X; HP-UX
AIX-Based; QNX
SGI Irix; Dec OSF
Database PriceSQL 2000 MySQL
Standard Edition
$4,999 per processor
Enterprise Edition
$19,999 per processor
Free under the terms of
the GNU General Public
License.
$495 per copy (1-9)
Database FeatureSQL 2000 MySQL
Views
Triggers
Stored Procedures
Foreign Keys
Cursors
User-defined functions
Not supported
Not supported
Not supported
only InnoDB tables
Not supported
C, C++ external libraries
Arrays
Database ComparisonConclusion
Both databases are stable and efficient
Database ComparisonConclusion
SQL 2000 AdvantageHolds the top TPC-C performance and price/performance results. Generally accepted as easier to install, use and manageTransact-SQL is a more powerful language than MySQL dialect.
Database ComparisonConclusion
MySQL 4.1 AdvantageSupports all known platforms
Requires less hardware resources
Free under the terms of the GNU General Public License.
Works with medium size databases (10-100 million rows, or about 100 MB per table) on small computer systems.
Language ComparisonPERL JSP/Java
ServletsC#
1987Most popularMod_perl – server embbed interpreterTemplates
Late 1990sCreated to complete with CGI by PERL
2002Syntax similar to Java
Web Server ComparisonApache IIS
Most popular web server since April of 1996
69% of web sites use Apache
Winner in the Netcraft and Security Space monthly surveys
Dominant among Fortune 1000 enterprises
21%
Performance TestComparison Charts of both static and dynamic web pages involves database accessesComparison Chart of database accessPerformance Test Limitations
Empty Cart Page
0.000
0.020
0.040
0.060
0.080
0.100
0.120
0.140
0.160
1 & 2 3 & 4 5 & 6 7 & 8 9 & 10
Attempt
Tim
e (s
ec)
C#
Java
C#: 0.081 sec AverageJava: 0.122 sec Average
Add to Cart Page
0.000
0.020
0.040
0.060
0.080
0.100
0.120
0.140
0.160
0.180
0.200
1 & 2 3 & 4 5 & 6 7 & 8 9 & 10
Attempt
Tim
e (s
ec)
C#
JAVA
C#: 0.177 sec Average JAVA: 0.151 sec Average
Profile Page
0.000
0.020
0.040
0.060
0.080
0.100
0.120
0.140
1 & 2 3 & 4 5 & 6 7 & 8 9 & 10
Attempt
Tim
e (
se
c)
C#
JAVA
C#: 0.102 sec AverageJAVA: 0.094 sec Average
Search Page
0.000
0.500
1.000
1.500
2.000
2.500
1 & 2 3 & 4 5 & 6 7 & 8 9 & 10
Attempt
Tim
e (
sec
)
C#
JAVA
C#: 0.163 sec AverageJAVA: 2.189 sec Average
Category Page
0.000
0.500
1.000
1.500
2.000
2.500
1 & 2 3 & 4 5 & 6 7 & 8 9 & 10
Attempt
Tim
e (
se
c)
C#
JAVA
C#: 0.154 sec AverageJAVA: 2.179 sec Average
Averages of All Charts
0.000
0.500
1.000
1.500
2.000
2.500
Empty CartPage
Add to Cart Profile Search Category
Tim
e (
se
c)
C#
JSP/Servlet
SQL Database
0.000
0.005
0.010
0.015
0.020
0.025
0.030
0.035
1 2 3 4 5
Attempt
Tim
e (s
ec)
SQL2000
MySQL 3.23.46
SQL2000: 0.006 sec AverageMySQL: 0.024 sec Average
Performance Test Limitation
Optimized CodingDifferent Versions of OS,Server & DBHardwareDifferent techniques for certain functionalitiesMulti-users/concurrent requests
ConclusionConsideration of Choosing a web setup
Operation System – platform dependenceAmount of data transaction involved and type of transactionNumbers and concentration of users Developer resources
Referencehttp://www.mssqlcity.com/Articles/Compare/sql_server_vs_mysql.htmhttp://httpd.apache.org/http://www.serverwatch.com/tutorials/article.php/3074841http://www.tpc.org/tpcc/results/tpcc_price_perf_results.asphttp://www.perl.org/about.html