Web Server comparison (IIS, tomcat, Apache, resin)

Source: Internet
Author: User
Tags http authentication website server xml stylesheet

1. IIS

Http://www.86un.com/Article/ShowArticle.asp? ArticleID = 228

Internet Information Server is a web server that allows information to be published on the public Intranet or the Internet.

First, Internet Information Server (IIS) is a World Wide Web server. The total number of gopher servers and FTP servers is included. IIS means that you can publish web pages, and there are Asp (Active Server Pages), Java, and VBScript pages, which have some extension functions. IIS supports some interesting tools, such as the compiling interface (Frontpage), the Index Server, and the net show)

Secondly, IIS is a file and application of the French server provided along with Windows NT Server 4.0, is the basic component of the establishment of Internet server on Windows NT Server. It is fully integrated with Windows NT Server, allowing the use of the built-in security of Windows NT server and the NTFS file system to establish a strong and powerful Internet/Intranet site.

2. Tomcat


As Web-based applications are growing today, traditional HTML cannot meet the current needs. We need an interactive web, so we were born to talk about all kinds of web. Such as ASP, JSP, and PHP. Of course, these speeches have close contact with the traditional ones, such as PHP Based on C and C ++, JSP based on Java. Tomcat is a running platform of JSP and servlet.

Tomcat is not only a servlet container, but also a traditional web server: Processing HTML pages. However, compared with Apache, It is inferior to Apache in dealing with static html. We can integrate Tomcat and Apache to let Apache handle static html, while Tomcat handles JSP and servlet. For this integration, you only need to click on the configuration file of Apache and tomcat.

Tomcat-based development is really the first to open up JSP and Servlet, open up JSP and servlet is very simple, you can use the popular text editor IDE, and then package it into war. Ant is also a sub-project in Jakarta. Ant is similar to make in UNIX. You need to write a build. XML file, and then run ant to complete what the XML file says. This is a good thing to deal with a large application, we only need to write a few tools in XML to compile and package them into war. In fact, ant has been included in the announcement of many application servers. In jsp1.2, you can manipulate the tag library to implement JavaCodeSeparation from HTML files makes JSP maintenance more convenient.

3. Apache

Apache is a free-of-charge website server...

Apache is a kind of website server with the highest availability, which is three times the size of microservices...

Apache is the most customized web server!

Apache is the world's top Web server. According to Netcraft (www. netsraft. co. uk), more than 50% of web servers in the world are using Apache.
In April 1995, the earliest apache version 0.6.2 was published by Apache Group. apache Group is a completely through the process of Internet operation of non dividend institutions, it to determine Apache Web Server scale publication version should cover what content. promise anyone to hide their mistakes, provide new features and port it to a new platform, and other things. when the new Code is submitted to the Apache Group, the Group will assess its details and conduct tests. If the code is regarded as a license, it will be integrated into the primary publication version of Apache.
Apache features:
1) it is almost possible to run on all the computer platforms.
2) support the latest HTTP/1.1 peace talks
3) simple and powerful file-based configuration (httpd. conf ).
4) Support General Gateway Interface (CGI)
5) support fake hosts.
6) Support HTTP authentication.
7) Integrate Perl.
8) Integrated agent
9) can be through the process of Web Viewer supervision server situation, can customize the diary.
10) support server Order (SSI ).
11) Support for Secure Socket Layer (SSL ).
12) tracking of valid user sessions.
13) Support FastCGI
14) support Java Servlets.
Error (maybe it is, maybe not ):
Apache does not provide graphical user interfaces (GUI) for the handler, but the apache version has supported GUI.

4. Resin


Resin server platform introduction Resin provides the fastest JSP/Servlets operating platform. With the support of Java and JavaScript, resin can feel that the Mission is agile and suitable for opening up. Resin a progress of the predecessors to speak XSL (XML Stylesheet Language) can make the situation and content to break up. If you use the JSP platform as the support for Internet trading sites, the speed, price, and immutability will all be considered. resin is very outstanding, indicating that it is more mature and has a lot of demand for trading software. In addition, it is free of charge. A complete version is downloaded from the site. It is worth your consideration! Compared with tomcat, the latter is more like a project under research. At present, resin can support Sun's J2EE, and tomcat cannot directly support, and J2EE is based on the root of the Java Server. However, the Tomcat layout is fair, and it is a product of Apache structure, so it has a good prospect. Resin1.1 features: 1 Support jsp1.1 and compile javascript.2 on the server side faster than mod_perl and mod_php, three times faster than Jakarta Tomcat. You can see a variety of test statements on the Caucho site. 3. Use the servlet2.2 engine. 4. Actively compile Servlet/Bean! 5 servlet, XSL filtering6 support IIS, Apache, Netscape and other built-in HTTP/1.1 web server. 7. XSLT and xpath1.0 engines. 8. enterprise-level shared software (based on an open-source peace talks) Placement and start-up: to secure the architecture, you only need to extract resin-1.1.3.zip to a specific directory. JDK support is required before running. The startup mode is implemented: the resin-1.1.3/bin/httpd (in NT) system has been started according to the default settings, and the system will listen to port 8080. The JSP file can be stored in the resin-1.1.3/doc directory; the servlet can be stored under Resin-1.1.3/doc/Web-INF/classes. You can view the resin reception interface from http: // localhost: 8080. You can download the latest resin1.1.3 here. The size is 2.5 MB. However, you can also go to the http://www.caucho.com official site to understand the specific content and download resin1.1.3 about 1.1.2 and take a look at resin license

Differences between APACHE and tomcat

Apache is a Web server, which can be used as a Web server, but only supports static Web pages. Such as ASP, PHP, CGI, JSP, and other dynamic web pages.

If you want to run JSP in Apache, you need an interpreter to implement JSP web pages. This JSP interpreter is tomcat. Why JDK? If JSP is required to connect to a database, JDK is required to provide the drive path of the database. To run the JSP web server platform, Apache + Tomcat + JDK is required.

The benefits of integration are:
If the client requests a static page, it only needs the Apache server to request it;
If the client requests a dynamic page, it is the corresponding request of the Tomcat server;
Because JSP is the server side to interpret the Code, such integration can reduce Tomcat service overhead.


Test results in the same environment and Code on the same machine

In 500, the client concurrency is 10 seconds, and the concurrency frequency is calculated based on the processing capability. below is the number of page visits within 10 seconds. A total of five times are pressed.

1: 962

2: 1872

3: 2864

4: 3784

5: 4735




2: 1792



5: 3606


In 500, the client concurrency is 100 seconds, and the concurrency frequency is calculated based on the processing capability.

Tomcat: 7439

Resins: 3949


Use jmeter to perform performance stress tests on Tomcat Apache UFO respectively. Use jmeter to perform performance tests on Tomcat, Apache, and UFO (web server software released on www.gm365.com ).
I. Tomcat Apache UFO jmeter Tool
1) Here is a brief introduction to jmeter.
Jmeter-a 100% pure Java Desktop Application, which is open to Apache organizations Source code Project, which is a tool for functional and performance testing. Jmeter can be used to test the performance of static or dynamic resources (files, Servlets, Perl scripts, Java objects, databases and queries, FTP servers, or other resources ).
2) jmeter: http://jakarta.apache.org/jmeter/usermanual/index.html
3) features of Apache jmeter:
A) Perform stress and performance tests on HTTP and FTP servers, or perform the same tests on any database (through JDBC ).
B) Completely portable and 100% pure Java.
C) fully supported swing and lightweight components (pre-compiled jar uses javax. Swing.
D) The fully multithreading framework allows concurrent sampling by multiple threads and simultaneous sampling by separate thread groups for different functions.
E) the well-designed GUI allows quick operations and more accurate timing.
F) cache and offline analysis/playback of test results.
G) high scalability:
H) connectable sampling devices allow unlimited testing capabilities.
I) various load statistical tables and connectable timers are available.
J) data analysis and visualization plug-ins provide good scalability and personalization.
K) has the ability to provide dynamic input to the test (including javascr into pt ).
L) Support for sampling devices with scripts (beanshell is supported in 1.9.2 and later versions ).
Ii. What tests can jmeter perform?
Jemer was originally designed for Web/HTTP testing, but it has been extended to support a variety of Test Modules. It is shipped together with modules used for HTTP and SQL databases (using JDBC. It can be used to test the running status of servers in static databases or active databases. It can be used to simulate heavy loads on servers or network systems to test its resistance, it can also be used to analyze all running conditions of different load types. It also provides a replaceable interface for customizing data display, test synchronization, and test creation and execution.
Iii. Examples
1) test environment:
Hardware configuration software environment
Tested on January 1, April 19, 2009
Server (r) 4 256 M memory tomcat6.0.18 apache_2.0.63 ufo_0.9995_4_3
Client (r) 4 256 M memory jmeter
Test content: A simple page of in.html 23.1kb and relevant information.
2) install and start jmeter to perform stress tests on the above software.
Test 10, 25, 50, 75, 100, 200, 500, and 1000 threads respectively, that is, simulate the concurrency of these users. Each user sends 10 requests cyclically; the value of ramp-up period (inseconds) is set to 0, that is, concurrent requests.
The specific results output by jmeter are stored in the attachment. To ensure the authenticity of the test data, download the attachment and view relevant information.
The following result is from the attachment. The extraction part is as follows:
Tomcat test results
# Samples average median 90% line min max error % throughput KB/sec
100 17 0 63 0 172 0.00% 228.8/sec 5306.5
500 139 0 156 2515 0.00% 185.0/sec 4289.6
1000 251 0 78 0 4234 0.00% 181.3/sec 4204.8
2000 448 0 1031 8188 5.10% 192.2/sec 4242.7
5000 1080 1078 1563 0 11203 50.86 253.2/sec 3056.1
When simulating a stress test for 200 users, tomcat has obviously seen slow response. Average: 448 (average response time: 0.448 seconds), 90% line: 1031 (90% of the user response time is 1.031 seconds), the probability of failure to respond: 5.10%.
When simulating a stress test for 500 users, Tomcat can no longer afford it; error: 50.86% (of requests cannot respond)
Test results of Apache
# Samples average median 90% line min max error % throughput KB/sec
100 33 0 16 0 547 0.00% 163.9/sec 3801.5
500 158 0 156 2812 0.00% 157.6/sec 3655.3
1000 314 0 203 5859 0.00% 160.8/sec 3728.8
2000 634 0 468 11922 0.00% 158.0/sec 3664.3
5000 1460 187 6078 0 14531 15.86 200.0/sec 3944.5
Simulating Stress Testing for 500 users, the average Apache response time is obviously slow: 1.460 seconds, 90% of users need 6 seconds to respond, and the error rate is already high: 15.86%
Test results of UFOs
# Samples average median 90% line min max error % throughput KB/sec
100 35 16 63 0 437 0.00% 76.2/sec 1767.5
500 44 30 63 0 4234 0.00% 93.6/sec 2169.7
1000 37 16 62 0 3438 0.00% 108.8/sec 2524.2
2000 54 31 141 0 3593 0.00%/sec 123.7
5000 48 31 109 0 4890 0.00%/sec 123.9
10000 58 31 94 0 5734 0.00%/sec 128.2
For UFOs released on www.gm365.com, no comments will be made for the new software. If you have any questions, I will discuss them more. This test is just an aggregation report for HTTP requests. For details, see the appendix (jmetertest .rar ).
Analysis on jmemter usage:
In the test process, the average response time is an important indicator of our performance test. However, in the test, especially in the aggregate report, the 90% line is obtained, I refer to descriptive statistics and performance result analysis, one of LoadRunner's not telling you. 90% line is equivalent to the 90% response time proposed by the author, this value is also of reference value for our performance testing and analysis. 90% the response time means that in the sent request, 90% of the user response time is shorter than the obtained value. It also indicates that when a system is in the application, the response time of 90% of users can reach this value, which provides a good reference value for system performance analysis.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.