Home  >  Article  >  Backend Development  >  How PHP websites deal with large traffic and high concurrency issues

How PHP websites deal with large traffic and high concurrency issues

零到壹度
零到壹度Original
2018-04-12 10:08:231941browse

The content of this article is to share with you the solutions when the PHP website encounters large traffic and high concurrency. It has a certain reference value. Friends in need can refer to it

First, configure a high-performance server

Ordinary P4 servers can generally support up to 100,000 independent IPs per day. If the number of visits is greater than this, you must first configure a higher-performance dedicated server. Solve the problem, otherwise no matter how you optimize it, it will be impossible to completely solve the performance problem.

Second, optimize database access.

It is of course best to implement complete staticization of the front desk, which does not require access to the database at all. However, for websites that are frequently updated,
staticization often cannot satisfy certain functions.

Caching technology is another solution, which is to store dynamic data in cache files. Dynamic web pages directly call
these files without having to access the database. Both WordPress and Z-Blog use this method extensively. Caching technology. I
myself also wrote a Z-Blog counter plug-in, which is also based on this principle.

If it is indeed impossible to avoid access to the database, then you can try to optimize the query SQL of the database. Avoid using statements like
Select * from. Each query only returns the results you need, and avoids using it in a short period of time. A large number of SQL queries.

Third, prohibit external hotlinking.

Hotlinking of pictures or files from external websites often brings a lot of load pressure, so external links to

hotlinking of own pictures or files should be strictly restricted. Fortunately, currently you can simply refer to it. To control hot links, Apache itself can disable hot links through configuration. IIS also has some third-party ISAPIs that can achieve the same function. Of course, forging referrals can also be done through code to achieve hotlinking. However, currently there are not many people who deliberately forge referrals to hotlink.
You can ignore it or use non-technical means to solve it, such as on pictures. Add watermark.

Fourth, control the download of large files.

Downloading large files will take up a lot of traffic, and for non-SCSI hard drives, downloading a large number of files will consume

CPU, which will reduce the website's responsiveness. Therefore, try not to provide downloads of large files exceeding 2M. If

is required, it is recommended to place the large files on another server.


Fifth, use different hosts to divert the main traffic

Place files on different hosts and provide different images for users to download. For example, if you feel that RSS files take up a lot of

traffic, then use services such as FeedBurner or FeedSky to place the RSS output on other hosts. In this way, most of the traffic pressure of other people's access will be concentrated on FeedBurner's host, and RSS will not be available. It takes up too many resources.

Sixth, use traffic analysis and statistics software.

Install a traffic analysis and statistics software on the website, you can instantly know which places consume a lot of traffic and which pages

need to be optimized. Therefore, accurate statistical analysis is required to solve the traffic problem. Can. The traffic analysis and statistics software I recommend

is Google Analytics. I feel that its

effect is very good during use. Later I will introduce in detail some common sense and skills of using Google Analytics.



Related recommendations:

Summary of coping methods for large traffic and high concurrency

Solutions for large traffic and high concurrency

High concurrency and large traffic processing website

The above is the detailed content of How PHP websites deal with large traffic and high concurrency issues. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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