This article will introduce the possible performance problems, the solution direction and optimization points of php performance problems. if you are interested in php performance optimization, learn it together. 
What are the possible performance problems: 
 
 
1. incorrect php syntax
2. I used php to do what I was not good.
3. the services connected in php language are not powerful.
4. php's own short board
5. I don't know either.
 
General Situation: php performance problems cannot exceed 1/2 (generally 30% ~ 40%)
 
Php performance problem solution:
 
Php language-level performance optimization-> php peripheral problems performance optimization (connection service, network environment)-> php language self-analysis and optimization
 
(Php language level)
 
Optimization: less code writing and more php capabilities
 
Problem: Self-writing code is redundant and not readable, resulting in low performance.
Why is it low: php code needs to be compiled and parsed to the underlying language. this process is processed every time a request is sent, with a high overhead.
Methods: use php built-in variables, constants, and functions.
 
Optimization: php built-in functions
 
Situation description: php built-in functions, there are still slow differences between them
Suggestion: Learn more about the time complexity of php built-in functions
 
Optimization: use as few magic functions as possible
 
Situation description: Magic functions provided by php have poor performance.
Why is the performance low: the php language has done a lot for you to save the trouble for php programmers
Good method: Avoid using php magic functions as much as possible
 
Optimization point: error blocker with additional overhead @
 
Actual logic: before the code starts, set the highest error level, and then reply to the set error level. Added Opcode to ignore error reporting
 
Optimization: reasonable memory usage
 
Situation description: php has a memory recovery mechanism, but please be careful when using the memory
Suggestion: use unset () to release unsuitable memory in a timely manner (note: unset () cannot be canceled)
 
Optimization: use regular expressions as few as possible
 
Situation description: the backtracking overhead of the expression is large. "no diamond is used to capture ceramics"
Suggestion: use string processing functions to implement the same logic
 
Optimization: avoid computation in a loop
 
Case description: the computation formula in the loop will be repeated.
 
 
<? Php $ str = "hello world"; a // strlen ($ str) put it outside for ($ I = 0; $ I
 
 
 
 
Optimization: reduce computing-intensive business
 
Case description: php is not suitable for intensive computing scenarios.
 
Why? Php language features make php not suitable for big data computing
Php: suitable for connecting Webserver to backend services and UI presentation
 
Optimization point: Be sure to use a string with quotation marks as the key value
 
Case description: php treats key values without quotation marks as constants, resulting in overhead for constant search.
Suggestion: use quotation marks strictly as the key value.
 
--------------------------------------------
 
(Performance Optimization for php peripheral problems )-
 
Runtime Environment, file storage, database, cache, network
 
Reduce file operations
 
Common php overhead sequence:
Read/Write disk, read/write database, read/write memory, read/write network data
Read/write memory < <读写数据库<读写磁盘<读写网络数据
 
Optimize network requests
 
Network request pitfalls:
 
1. uncertainty of the peer interface
 
2. network stability
 
How to optimize network requests?
 
1. set the timeout time
 
A) connection timeout: 200 ms
B) read timeout 800 ms
C) write timeout 500 ms
 
2. parallelization of serial requests
 
A) use curl_multi _*()
B) use swoole extension
 
Compressing php interface output
 
Cache repeated computing content
 
Under what circumstances will the output content be cached?
 
Multiple requests, unchanged content
 
Overlapping time window ideas
 
Bypass plan
 
Analysis of php analysis and optimization:
 
Test with tools
 
PHP performance bottleneck solution:
Opcode cache (the last step of code compilation for caching) PHP extension APC for Opcode caching
 
Supplemental stress testing software instructions:
 
AB-h
 
Apache Benchmark (AB) is a stress testing software provided by Apache. this software is provided when the apache server is installed.
 
Use:./AB-n1000-c100 http://www.baidu.com/
 
-N requests-c concurrency url target pressure test address
 
The above content introduces you to some simple considerations for php performance optimization. I hope this article will help you.