Competition of WEB servers: Evaluation of six schools

Source: Internet
Author: User
Tags ldap fast web

Summary

Sometimes Apache is everywhere, and everyone is running Apache, and even the dogs including Apache are running their own Apache. But even so, there are still many other types of Web servers to choose from. This article provides a comprehensive comparison of mainstream Web servers on the market.

Apache is everywhere and can run on multiple system platforms, including Linux and Soloris. Apache is the undisputed leader in the network market. Apache is used in almost any tutorial on Network Management about Web servers. Of course, Apache is chosen for many very adequate reasons. After all, the choice of 16 million users (according to the statistics in the Netcraft survey report) is unlikely to be wrong. However, there is no need to follow the trend. Web Services may need to be diversified. The GNU/Linux philosophy is to choose a suitable tool based on your own needs and actual conditions.

Maybe your choice focuses more on speed and reliability, rather than on the Internet. Maybe you just want to find a clean and easy-to-configure web server. No matter what you choose, there is always a lot of software to meet your needs. In this article, we will analyze and compare a variety of web servers and provide the basis for users to select the most suitable Web servers.

Writing a basic web server is very simple. You only need to listen to the appropriate port, establish a connection, and send data. Writing such servers and client development are always complementary. The birth of the two marks the beginning of WWW. In 1990s, browsers, web servers, HTML and HTTP protocols were rapidly developed. Then the server becomes developed by NCSA, and the corresponding server becomes the NCSA Web server. The browser changes from Mosaic to Netscape Navigator. NCSA is still available. Although it is no longer maintained and continues development, it can still download its source code for free. It is the predecessor of the famous web server Apache.

However, a client, a protocol, and a network environment are required for such a connection. However, as the Internet continues to develop, web servers need more functions to meet the client's demand for more dynamic content. Apache has developed an extension module to meet this requirement. However, when web services become a technology that many business applications must face and adopt, there are many different web servers to meet these different needs. Scalability, reliability, speed, and advanced dynamic functions are all key factors for web servers, especially in e-commerce application environments. Ease of configuration and management is equally important for new users.

None of these features can fully meet the requirements of a specific server. However, if you have a clear understanding of your web service requirements, therefore, one of all web servers must meet your needs.

Apache 1.3.19

Apache is still the greatest all-around player. Maybe it is too large and has a long history, but it should be better developed with its excellent performance and a large number of user groups. With regard to its flexibility and rich features, Apache is a standard for web servers compared with other web servers tested here. Unless you have been isolated from the world for the past four years, you will surely see a lot of news articles cheering on Apache's success and use it as a success example of open source code. Apache does not use the GPL copyright statement, but uses its own Apache Server copyright statement, which emphasizes the free use of source code. Apache is also famous for its "patch server", mainly because early Apache development was carried out by adding patches to the httpd code of NCSA. Apache is regarded as a "patch server". It is also modular and achieves the flexibility and scalability of Apache. In addition, developers can easily add third-party functional modules by using this feature, the module developers can add any function. The module is the functional basis of many content management systems, such as Midgard and Zope.

Apache is installed as the default configuration in almost all Linux releases. SuSE 7.1 is even pre-installed with Apache that includes various advanced module options, such as PHP3, mod_perl, and LDAP. Users will be surprised to find that a powerful web server is available after the system is successfully installed. Although installing Apache is not very simple, it is worthwhile to download the source code package and compile the new Apache if Apache with new features or security patches is released. Apache not only has a large user base, but also has a wide range of Configuration documentation.

The Apache main configuration file is in plain text format. conf. With the development of Apache, some other configuration files gradually die out and tend to use a single configuration file httpd. conf to store all configuration commands, such as customer access information, authentication information, and virtual servers. The Apache configuration option adopts the command mode. The configuration command sets the values of various parameters. For example, DocumentRoot sets the root directory on the web page of the server. You can also flexibly set up multiple virtual Web Servers Based on IP addresses or domain names. These web virtual servers can define independent DocumentRoot configuration commands. The LoadModule command is used to specify the loading of different modules to expand the functions of the Apache server. Most of these new features provide server-side support for script technology, such as Perl and PHP. Apache can use ApacheJServ in combination to support Java servlets and JSP.

Many modules of Apache implement security protection: for example, mod_auth provides proper protection for data on the server, while the SSL module is used to protect the communication security between the server and the client.

For most users, manual editing of lengthy httpd. conf files is boring and error-prone. Fortunately, both Linuxconf and webmin in Redhat provide excellent Apache configuration templates. The GUI project of Aapche also provides Comanche and Mohawk to configure and manage Apache graphics. These tools greatly reduce the difficulty of managing and configuring Apache, but understanding httpd. conf is very important for configuring high-performance servers.

Apache is declared in many places that Apache is not the fastest web server. Apache developers have not considered developing a super-fast web server. The function and stability are more factors to consider. However, Apache runs normally in many websites with heavy loads and does not get too many complaints about performance. In our performance tests using webstone, we found that Apache ranked first in throughput and had the least errors. In the test, although Apache has the strongest scalability, it is still the fastest server that provides so many features.

Zeus Webserver3.3.8 Server

Zeus is a commercial web server product. Recently it has become the headlines of many industry media, it was reported that the performance of the Zeus server was improved by as much as 2.4 In the 85% kernel + SMP environment compared with that in the 2.2.x kernel environment. Speed is always the selling point of the Zeus server. It is often commented that if you want to test the performance of Linux as a server operating system, run Zeus for testing.

The Zeus server has excellent scalability in the SMP environment and implements a set of common features, such as Access Control, dynamic content generation, and security. It is a good choice for high-end applications because of its robustness, cluster-supported fault tolerance, load balancing, and other characteristics.

The installation and management of the Zeus server is relatively simple. The software is in the package format of tar.gz. to install the software, you only need to extract the package and run an installation script. It takes only a few minutes to install the software on a machine with proper performance. The Zeus server provides web-based Remote Management after installation.

The management of Zeus is divided into two parts: the management configuration part includes the configuration and access to the management server itself, and the web configuration part includes the configuration of various features of the web server, from virtual server settings to cluster system management and monitoring. By default, Zeus is considered a virtual server even if it only runs one server. Like Apache, multiple virtual servers can run on the same server. Likewise, virtual servers can be hard (IP-based) or soft (domain-based) virtual servers.

The GUI for managing servers is very easy to use and can easily generate complex configurations for multiple virtual servers. Using the GUI, the settings of different virtual servers can be cloned from each other. You can create a cluster system and implement modular configurations similar to. htaccess. The monitoring tool is very good, with dynamic monitoring for each virtual server and an independent cluster node.

Its functions are comparable to those of Apache, including easy-to-implement SSL security features and other useful features, such as bandwidth control. Zeus claims to support PHP and Java Servlets. Although easy-to-use management interfaces blur these advanced configuration features to some extent. PHP4 can be run through the API (NSAPI) supported by Zeus, or through CGI. However, many users report that this API method has stability issues.

The performance of high-end application servers is always difficult to accurately test, and tests are carried out when the load is relatively small, although it is difficult to give the server running status in case of overload, it still has some practical value. In our tests, Zeus has superior performance in terms of server throughput and response time, and has little chance of errors like Apache. Zeus has a simple GUI that is not available to other servers. According to reports, Zeus runs well in four processor Linux systems. To build a high-performance Zeus server, it is a little complicated than other servers.

IPlanet Enterprise Edition 4.1

Netscape developed a variety of WEB servers for different operating system platforms, but it only recently released its own Linux product. The popular Netscape Enterprise Server is now replaced by iPlanet Enterprise Edition, a similar product running in Linux. IPlanet is a WEB product jointly developed by SUN, Netscape, And AOL. It is designed as a high-performance, cross-platform e-commerce product. IPlanet has the same high performance as other Netscape products, and iPlanet has the Java features of SUN.

You can download and use the assessment version, or purchase the official version. Because the compression package contains the Java Runtime Environment JRE, the iPlanet compressed package is relatively large. After the compressed package is decompressed, a shell-based simple installation tool can help you install the Administration Server and Web server. All information about installation is entered at this time. Of course, you can also select the installation option, such as installing the Java component or LDAP directory, so that you can use LDAP to manage users and groups in the future.

As popular today, iPlanet allows browser management and configuration. The Administration Server provides comprehensive management and monitoring functions that allow you to reconfigure the Administration Server and Web server. In the cluster node iPlanet server environment, you can use the cluster database to manage them on an Administration Server.

The multi-layer menu structure of iPlanet reflects the rich functions of iPlanet. You can use menu options to manage all WEB servers. IPlanet has a very useful online help documentation and a complete SSL encryption mechanism, which ensures the security of user login and on-site detection. IPlanet allows you to configure virtual servers based on IP addresses and names.

The boundaries between WEB servers and WEB application servers are becoming increasingly blurred. iPlanet supports JAVA APIs like other professional WEB servers to improve their performance. Enterprise Edition 4.1 is built in JRE and can be interconnected with most databases. It also supports JSP 1.1 APIs, Serverlets 2.2 APIs, and Livewire. It has powerful software packages, and its functions far exceed the dynamic scripting language. Enterprise Edition 4.1 also supports traditional scripting methods, such as CGI and NSAPI, so that you can easily migrate data from other products to iPlanet without any problems.

Compared with other WEB servers, iPlanet provides more JAVA functions. IPlanet performs well in the WebStone environment. Although iPlanet sometimes produces many errors on the client due to the failure of the server to respond to client requests, its throughput and response time performance are superior. As an expensive WEB server product, we hope to see more test results based on WebStone. If you are looking for WEB Server products that can run standard Java APIs and run well in the Java API environment, iPlanet is your first choice.

AOLserver 3.3.1

AOLserver is a multi-threaded, upgradeable, and scalable WEB server. The AOLserver server uses the simple and powerful Tcl as its embedded scripting language and server-side API. As the name suggests, AOLserver is widely used in the online services of AOL. With the development of AOL, AOLserver also adds more features, the speed has also been significantly improved. Like other large companies, AOL has published all the source code of AOLserver. The source code follows the AOL copyright statement, and AOL also benefited from this open development model.

The Study of AOLserver started in 1994, when it was developed as part of a complete WEB publishing system. The wysiwyg web Editor of the WEB server is embedded in the WEB publishing system. The WEB editor emphasizes the convenience of content change and the speed of content update. Just like in the early days of HTML and WWW, the WEB publishing system was designed as a complete webpage editing system. With the passage of time, the Web Editor of AOL no longer exists, but because of the emergence of Tcl scripting language and its support for dynamic web pages, AOLserver survive.

Compared with Apache, AOLserver also supports open source code and excellent performance. Both of them can add new functions through modules, but AOLserver supports the Tcl language, and connect to the database in different ways. The AOLserver can connect to and use background relational databases (RDBMS), such as Oracle and PostgreSQL. The AOLserver runs as a single process in a UNIX system, so that the web server can share the database connection, thus making the script language running in the AOLserver faster. The script language of AOLserver can also access many database management systems at the same time through an abstraction layer.

AOLserver can be downloaded from the official website of AOL or its development site Sourceforge for free. As long as you extract the AOLserver package, you can easily use gmake to compile and install the AOLserver server, optional modules, Tcl libraries, tool software, and response documents. You can use config. tcl to configure the AOLserver environment. You can also install and manage permission control, CGI, SSL, and database connection modules like Apache. At the beginning, users may not be completely clear and correct in installing and setting "soft" (based on domain names) virtual servers. The AOLserver documentation is very complete and detailed, but a little tedious. It includes installation, configuration, and Tcl API details. However, AOLserver does not support HTTP 1.1-Based Soft virtual servers.

You can remotely use a Tclsh-like module to manage the AOLserver, which runs on the specified port of the system. Once this module is run, it is easy to connect to and manage the AOLserver through Telnet or to execute Tcl commands using the monitoring module.

In many test environments, the performance of the AOLserver is not satisfactory. Many errors may occur when testing the AOLserver in the WebStone environment, and many customers cannot connect to the AOLserver server. Although the above problems may make people think that the performance of the AOLserver is poor, the test results in the case of relatively small load are not completely convincing.

Therefore, we cannot consider the AOLserver to be useless because WebStone cannot be used to test database connection speed and other parameters. Therefore, the above test results are for reference only. Although AOLserver does not have simple installation and configuration tools, it is recommended for customers who require fast database response.

Roxen WebServer 2.1.31

When it comes to adapting to the dynamic web content issue, we use the module k. The Roxen server uses the server-side language Pike. Using Pike, you can develop new modules for Roxen and embed them into the Roxen system. Pike is an explanatory language, and its syntax is very similar to that of C. Because Pike was developed based on the previous MUD game language, it is outstanding in terms of security authentication. Pike is very similar to the C language in terms of programming style and syntax. Therefore, a standard C language program can be rewritten into a Pike program in a short time. As an interpreted language, Pike is certainly slower than compiling Language C, but its debugging is relatively simple and the development cycle is short. In the Roxen server environment, the speed of using Pike to generate dynamic webpage content is improved.

You can use RXML to generate dynamic webpage content in Roxen. RXML is a server-side XML scripting language in the form of functions. It is parsed and executed by the Roxen server. Roxen uses HTML tags to generate dynamic web pages. tags can be generated by JAVA or Pike. In fact, in the Roxen server environment, almost all work can be completed using Pike.

Installing Roxen is very simple. You only need to use the downloaded shell script to conveniently decompress all necessary files and set the management interface and the Roxen server itself. After Java2, Orcle, and Sysbase script languages and recommended built-in upgrade systems are installed, all the features of Roxen will gradually become apparent, at the same time, Roxen also installs the Pike interpreter and other tools.

Like other WEB servers, Roxen allows you to configure servers in a browser. This configuration method has a popular and simple menu system. You can use these menus to set all system options. Roxen also has a variety of help files that cover all aspects of Roxen and Pike. You can configure a "hard" (IP-based) virtual server to generate a new site using a template or without a template. Templates are the basic list of Pike modules. You can use these templates to set different Roxen functions. Any site or server must set and run specific modules and use them to manage site content. A website must contain the file system module and directory module. The file system module can be used to set the root directory of the file, while the directory module manages the index file and directory list. In the Roxen system, you can check the configuration content and security information of each module as needed.

You can add bandwidth control, proxy, transit service, and other external modules and compatibility, database connection, Java, PHP4, and Perl support modules to any Roxen site.

The Roxen Management Server allows you to log on to the management and WEB services at the same time and fully monitor them. Roxen also provides an SSL security mechanism. For those users who are used to the Apache system, installing Roxen may take some time. However, once you get used to using Roxen-Pike, you will find Roxen's powerful functions quite attractive.

Because Roxen allows external modules, its performance is greatly affected by these modules. When 500 clients are connected to a high-end Compaq Proliant server running Roxen, all CPU resources are occupied, and the performance of other tasks is reduced. Although tests in the WebStone environment show that most of the Roxen parameter indicators are lower than those of Apache and Zeus, the overall performance of Roxen is satisfactory. If you want to use Roxen as a high-load server, you are advised to perform related tests or select other testing tools. Although Roxen seems stable in general and has excellent Pike and exciting external module functions, we recommend that you consider Roxen as a beneficial attempt.

Jigsaw

You can no longer find a WEB server that meets future needs like Jigsaw. Developed by the WWW Organization (W3C), W3C is responsible for researching and setting network protocol standards (such as HTTP ). Jigsaw was initially conceived as an HTTP 1.1 runtime environment. It is developed in JAVA and is a successful object-oriented and fully functional server. Because Jigsaw is not restricted by the test platform, Jigsaw is a dynamic and outstanding WEB server with unlimited potential.

Jigsaw uses JAVA as the development language, so it can be conveniently run on all platforms that support JAVA. By using the modular method, Jigsaw has higher flexibility and scalability, and can dynamically add modules to the service. Jigsaw uses the object-oriented method for design and development. Therefore, all resources, including CGI scripts and files, are regarded as objects. Therefore, it is not difficult to see the future prospects of Jigsaw.

However, for those with a traditional knowledge background, this new architecture may confuse people. Installing and running JAVA-based software always requires some skills, and the performance of running this portable language is still questionable.

Once you download the required JDK (or SDK) and the latest Jigsaw version, it will be very simple to install Jigsaw. On the Jigsaw server, the help files that help users set the Jigsaw environment, run services, and compile feature files are very limited. However, the above system settings are not very difficult. You can do this in a few minutes. Local or remote users can view the webpage to obtain detailed information about the Jigsaw management server.

JigAdmin has a friendly graphic control interface that can be used to control the local Jigsaw management server. JigAdmin has many Command Options and its control functions are quite complex. You can use it to manage Jigsaw Management Servers and http servers. JigAdmin uses different tree structures to represent relevant content such as doc space, indexers, properties, and realm. Doc space is clearly about the JigAdmin directory and file structure. Properties refers to service features such as servlet and loggind. Realm and indexers are not transparent to users. It is unrealistic to intuitively understand the meaning of these resources. Even if you are not familiar with the object-oriented structure, it is necessary to fully read the JigAdmin documentation because many concepts in JigAdmin are hard to grasp.

The document service of JigAdmin emphasizes two different processing stages: the indexing phase and the service phase. The indexing phase generates resources for the used documents to reduce the pressure on the service phase. Resources are the key to understanding Jigsaw. Managing resources through the resource editor is the key to reflecting the powerful functions of JigAdmin. Jigsaw uses resources as objects to interact with the outside world. These resources can be raw objects, such as text or graphic files, or generated objects such as servelet, CGI scripts, and filtered resources. Once you are familiar with these core concepts of Jigsaw, you will feel the powerful functions of Jigsaw. These features of Jigsaw make it better in dynamic script processing than other similar products, but its learning process is also a little difficult. All the features and concepts of Jigsaw come from regard the World Wide Web as a whole environment, which makes Jigsaw reflect the latest technology and standards.

Compared with Apache and NCSA HTTPd, Jigsaw has good performance in some cases. Unfortunately, we cannot use WebStone to test and evaluate Jigsaw performance. Even if it is connected to a few Client machines, the server running Jigsaw cannot return the test result because of overload.

Few users will use Jigsaw as a mature product, but by installing and using Jigsaw, we can understand the WEB Server products of HTTP-NG (next generation. Installing Jigsaw on a backup server will still be a good way to experience the running status of future products in a collaborative environment.

Summary

Although the purpose of this article is not to shake the dominant position of Apache in the WEB server market, this change trend is unstoppable. Unfortunately, Apache still occupies most of the market share. Most Linux vendors and media institutions recommend Apache products. Apache's GUI management tool looks beautiful, but if you use it to manage sites with complex structures, this is a complex task for both eyes and brains. Using these tools also means that you have to run services that are not needed in the management server.

Test data in the WebStone environment shows that Apache is superior to other products in terms of throughput, customer connections, and error rate. Apache and Zenus have excellent server response time and provide mature and high-end solutions for customers. However, it is undeniable that Zenus has advantages in SMP.

When selecting a WEB server, the server is very important and worth considering for dynamic scripting language, API support, and database connection performance. If you do not have strict requirements on the server performance, it is also a good way to choose AOLserver Tcl or RoXen Pike and RXML. The Roxen server is worth a try for users looking for extensible framework WEB servers.

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.