Home  >  Article  >  PHP Framework  >  How is the performance of workerman?

How is the performance of workerman?

(*-*)浩
(*-*)浩Original
2019-12-02 10:28:052200browse

How is the performance of workerman?

Why Workerman has excellent performance

The simple process communication model makes Workerman software more efficient than other complex process model software Efficient. (Recommended study: workerman tutorial)

Avoid reading the disk and compiling repeatedly

During the running of workererman, a single As long as the PHP file is loaded and compiled once during the process life cycle, it will be resident in the memory and will not be read from the disk or compiled again.

workerman eliminates many time-consuming steps such as repeated request initialization, creation of execution environment, lexical analysis, syntax analysis, compilation and generation of opcode, and request closing.

In fact, after Workerman is run, there is almost no disk IO and PHP file compilation overhead. The rest is just a simple calculation process, which makes Workerman run very fast.

Data or resources can be shared globally

Multiple requests in Workerman can share data or resources. The global variables or static members of the class generated by the current request will be shared the next time. Request is still valid. This is very useful for reducing overhead and improving operational efficiency.

For example, as long as the business initializes the database connection once, the connection can be shared globally, which realizes a true database long connection. This eliminates the need to create a new connection every time the user requests it, and avoids time-consuming interaction processes such as three-way handshakes during connection, permission verification after connection, and four waves when disconnecting.

Not only databases, but also redis, memcache, etc. are also effective. Reducing these overheads and network interactions makes Workerman run faster.

No extra network overhead

Traditional PHP applications need to use apache, nginx and other containers to provide external network services, which results in an additional layer of apache and nginx Wait for the data transfer overhead from the container to the PHP process.

And because the apache or nginx container is running, this will further consume server resources. Workerman does not have this overhead. This is because Workerman itself is a server container with PHP process management and network communication functions. It does not depend on apache, nginx, php-fpm and other containers and can run independently, so the performance is higher.

The above is the detailed content of How is the performance of workerman?. 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