Home  >  Article  >  Backend Development  >  Performance Optimization PHP Optimization Performance Adjustment and Optimization Adjustment to Optimize Performance How to Optimize Computer Performance

Performance Optimization PHP Optimization Performance Adjustment and Optimization Adjustment to Optimize Performance How to Optimize Computer Performance

WBOY
WBOYOriginal
2016-07-29 08:54:131391browse

1. Language performance optimization

1. Use the ab tool under Apache for performance testing
Test: ab -n100 -c100 https://www.baidu.com/ (100 requests, concurrency is 100)
Focus on two quantities:
Requests per second (number of requests per second) and Time per request (average response time)
2. Try to use PHP built-in variables, constants, functions, reason: PHP code It needs to be scanned individually by the zend engine into zend-recognizable syntax, and then parsed into opcode code before being executed.
3. Built-in functions also have pros and cons. You must know how to use high-performance functions and understand the time complexity of function implementation. Take isset and array_key_exists as examples.
4. Avoid PHP’s magic functions as much as possible.
5. The use of the error suppressor @ is prohibited because some code will be inserted before and after the statement. Use the tool vld to view the opcode of php.

6. Use memory rationally (it is recommended to use unset to release variables)

7. Use regular expressions rationally (the reason is the need for backtracking)

8. Avoid calculations in loops , Example: for($i=0;$i

9. Reduce calculation-intensive business. Reason: It is determined by the language characteristics of PHP. PHP is written in C language and is at the upper level. If it is implemented, it must be run through C. It is just a link. PHP is good at connecting webserver and back-end services, and UI display. Therefore, intensive business is best implemented through other languages, otherwise it will become a performance bottleneck.

10. Be sure to use quoted strings as key values. Otherwise, PHP will first look for the constant value. If it cannot find it, it will treat it as a string, which requires additional overhead.

2. Peripheral performance optimization

The main factors that affect performance are the following 5 points:

1.Linux environment;

2. File storage (hard disk);

3. Database; It is recommended to use the following methods Optimization:

1. Reduce file operations, sorted by cost: read and write memory << read and write database < read and write disk < read and write network data (socket), read and write memory is the most Fast, the database has its caching system, and the network has delays.

2.Optimize network requests:

Cause: 1. Uncertainty of the other party’s interface; 2. Stability of the network

Optimization method: 2.1. Set timeout (a Connection timeout; b read timeout; c write timeout); 2.2. Parallelize serial requests;

a) Use curl_multi_*(); b) Use swoole extension.


3.Compress PHP interface output:
Use Gzip compression
Pros: Helps the client receive data faster;
Cons: Additional CPU overhead


4.Cache repeated calculation content:
Multiple requests, the content remains unchanged;

5. smarty tuning and time window

overlappingthoughts (last one It can be used when the task is not strongly dependent on the previous task), and parallelization shortens the running time. 6. Use the xhprof tool to analyze performance;

Three.php performance bottleneck solutions

Opcode Cache: PHP extension APC

Extension implementation: Replace high-frequency business logic in the original PHP code through PHP extensionRuntime optimization: HHVM

The above introduces the PHP optimization of performance optimization, including performance optimization and PHP content. I hope it will be helpful to friends who are interested in PHP tutorials.

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