Home Operation and Maintenance Apache How to optimize Apache server performance

How to optimize Apache server performance

Dec 21, 2019 pm 03:30 PM
apache

When configuring the website, you must fully utilize the system resources, squeeze out all the potential of the system, and maximize the website speed. Apache is an intermediate bridge between user browsing and website data. But here, although we don't do much, if we take care of it carefully, some settings will have immediate results.

How to optimize Apache server performance

1. When installing Apache, you must choose the MPM correctly

If you want the best performance of Apache, So the first step is to choose the right MPM.                                                                                                                                                              (Recommended learning: Apache Server)

Apache has 3 MPMs, which are: event, prefork and worker.

Among them, event MPM is more suitable for situations where there are a large number of continuous connections. The advantage of KeepAlive is that it can respond to multiple requests in the same TCP connection: in this way, an HTML document containing a large number of images can be accelerated by 50%. Set KeepAlive to On in the Apahce configuration file httpd.conf to start KeepAlive.

prefork is a non-threaded MPM. Its characteristics are: although it is not very fast, it is very stable. It isolates each request, so if one request fails, it does not affect other requests. The most important parameter when using prefork is MaxClients.

The MaxClients value should be large enough so that it can perform well during peak access times; but at the same time it should not be too large, causing the memory required by Apache to exceed the size of physical memory.

Worker is a newly developed MPM in the Apache2 version, which is much faster than prefork. Moreover, due to the use of multi-threads for access processing, it can handle a relatively large number of requests, and the system resource usage is smaller than that of a process-based server. Workers are the main usage of Apache 2.

Worker has two important configuration parameters: ThreadsPerChild and MaxClients. ThreadsPerChild is used to control the number of threads allowed to be created for each child process, and MaxClients is used to control the total number of threads allowed to be created.

So, how to choose these 3 MPMs?

If you need better scalability, you can choose worker or event (because they are threaded MPM); if you need better stability and compatibility (such as adapting to some old software) , you can choose prefork. "From prefork to worker: Modifying ubuntu apache working mode"

If you still can't evaluate your needs and still don't know which MPM you should choose, then it is recommended to use worker.

2. Apache configuration optimization

In Ubuntu, the main configuration file of Apache is /etc/apache2/apache.conf. The following configuration is for this file.

(1) Turn off DNS query

HostnameLookups has been set to off by default, be sure to keep this setting. If you need to count client DNS, you can use third-party software to do so.

(2) Optimize MaxClients

When Apache2 starts, it will create some processes (the number set by StartServer in the configuration file) and maintain a maximum number of MaxClients ;Every connection request exceeding this number will be queued.

The above is the detailed content of How to optimize Apache server performance. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to set the cgi directory in apache How to set the cgi directory in apache Apr 13, 2025 pm 01:18 PM

To set up a CGI directory in Apache, you need to perform the following steps: Create a CGI directory such as "cgi-bin", and grant Apache write permissions. Add the "ScriptAlias" directive block in the Apache configuration file to map the CGI directory to the "/cgi-bin" URL. Restart Apache.

What to do if the apache80 port is occupied What to do if the apache80 port is occupied Apr 13, 2025 pm 01:24 PM

When the Apache 80 port is occupied, the solution is as follows: find out the process that occupies the port and close it. Check the firewall settings to make sure Apache is not blocked. If the above method does not work, please reconfigure Apache to use a different port. Restart the Apache service.

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

How to view your apache version How to view your apache version Apr 13, 2025 pm 01:15 PM

There are 3 ways to view the version on the Apache server: via the command line (apachectl -v or apache2ctl -v), check the server status page (http://<server IP or domain name>/server-status), or view the Apache configuration file (ServerVersion: Apache/<version number>).

How to start apache How to start apache Apr 13, 2025 pm 01:06 PM

The steps to start Apache are as follows: Install Apache (command: sudo apt-get install apache2 or download it from the official website) Start Apache (Linux: sudo systemctl start apache2; Windows: Right-click the "Apache2.4" service and select "Start") Check whether it has been started (Linux: sudo systemctl status apache2; Windows: Check the status of the "Apache2.4" service in the service manager) Enable boot automatically (optional, Linux: sudo systemctl

How to delete more than server names of apache How to delete more than server names of apache Apr 13, 2025 pm 01:09 PM

To delete an extra ServerName directive from Apache, you can take the following steps: Identify and delete the extra ServerName directive. Restart Apache to make the changes take effect. Check the configuration file to verify changes. Test the server to make sure the problem is resolved.

How to solve the problem that apache cannot be started How to solve the problem that apache cannot be started Apr 13, 2025 pm 01:21 PM

Apache cannot start because the following reasons may be: Configuration file syntax error. Conflict with other application ports. Permissions issue. Out of memory. Process deadlock. Daemon failure. SELinux permissions issues. Firewall problem. Software conflict.

How to view the apache version How to view the apache version Apr 13, 2025 pm 01:00 PM

How to view the Apache version? Start the Apache server: Use sudo service apache2 start to start the server. View version number: Use one of the following methods to view version: Command line: Run the apache2 -v command. Server Status Page: Access the default port of the Apache server (usually 80) in a web browser, and the version information is displayed at the bottom of the page.

See all articles