Home  >  Article  >  PHP Framework  >  Thinkphp and laravel performance comparison

Thinkphp and laravel performance comparison

尚
Original
2019-12-24 15:03:467635browse

Thinkphp and laravel performance comparison

ThinkPHP is a fast, compatible and simple lightweight domestic PHP development framework. It is released under the Apache2 open source agreement. It is transplanted from the Struts structure and improved and perfected. It also draws lessons from It adopts many excellent foreign frameworks and patterns, uses object-oriented development structure and MVC pattern, and integrates the ideas of Struts and TagLib (tag library), RoR's ORM mapping and ActiveRecord pattern.

Laravel is a simple and elegant PHP Web development framework (PHP Web Framework). It can free you from messy codes like noodles; it can help you build a perfect network APP, and every line of code can be concise and expressive.

Performance comparison between thinkphp and laravel:

Performance test

Test time: May 6, 2016

Test tool: siege (because of the MAC system ab always encounters the error pr_socket_recv: Connection reset by peer (54), so I chose siege)

Test machine: MacPro Core i5 processor/8GB memory/256GB SSD flash memory

Test Environment: Apache PHP5.6

Framework version: ThinkPHP 3.2.3 Laravel 5.2

Testing principle: Each test loops 5 times, taking medium data

Supplementary instructions: All Projects are all placed in subdirectories

Result Description

Transactions: 2119 hits Total number of requests processed

Availability: 96.85 % Availability

Elapsed time: 9.74 secs Running time

Data transferred: 1.31 MB Data transfer volume

Response time: 0.60 secs Response time

Transaction rate: 217.56 trans/sec Processing per second Efficiency

Throughput: 0.13 MB/sec Processing data per second

Concurrency: 130.28 Concurrency

Successful transactions: 2162 Successful requests

Failed transactions: 69 Failed request

Longest transaction: 2.85 Longest single request

Shortest transaction: 0.01 Shortest single request

Start test

Increase A controller, and enter HelloWorld 10,000 times in the controller

Concurrency 50 loops 10 times:

The first thing that came to us was ThinkPHP, which looked okay

Transactions: 500 hits

Availability: 100.00 %

Elapsed time: 2.81 secs

Data transferred: 52.45 MB

Response time: 0.26 secs

Transaction rate: 177.94 trans/sec

Throughput: 18.67 MB/sec

Concurrency: 47.10

Successful transactions: 500

Failed transactions: 0

Longest transaction: 0.48

Shortest transaction: 0.03

Then Laravle:

Concurrency 200 loops 10 times:

First is ThinkPHP

Transactions: 1977 hits

Availability: 98.85 %

Elapsed time: 10.03 secs

Data transferred : 207.40 MB

Response time: 0.95 secs

Transaction rate: 197.11 trans/sec

Throughput: 20.68 MB/sec

#Concurrency: 187.68

Successful transactions: 1977

Failed transactions: 23

Longest transaction: 1.22

Shortest transaction: 0.02

Then Laravel

Transactions: 1890 hits

Availability: 94.50 %

Elapsed time: 51.85 secs

Data transferred: 198.27 MB

Response time: 4.88 secs

Transaction rate: 36.45 trans/sec

Throughput: 3.82 MB/sec

Concurrency: 178.00

Successful transactions: 1890

Failed transactions: 110

Longest transaction: 26.01

Shortest transaction: 0.07

Unexpectedly, without optimization, ThinkPHP’s The speed is the fastest, Yii is slightly more, and Laravel finished the test at a faltering pace. The results are somewhat unexpected, but the above test only represents the development environment. The framework will be optimized below to simulate the online environment.

Optimization framework

ThinkPHP:

APP_DEBUG is changed to false

Laravel:

APP_DEBUG is changed to false

php artisan route:cache

php artisan optimize

php artisan config:cache

composer dumpautoload -o

Concurrency 200 loops 10 times:

ThinkPHP

Transactions: 1655 hits

Availability: 82.75 %

Elapsed time: 8.21 secs

Data transferred: 173.62 MB

Response time: 0.69 secs

Transaction rate: 201.58 trans/sec

Throughput: 21.15 MB/sec

#Concurrency: 139.29

Successful transactions: 1655

Failed transactions: 345

Longest transaction: 7.83

Shortest transaction: 0.00

Laravel:

Transactions: 1520 hits

Availability: 76.00 %

Elapsed time: 34.95 secs

Data transferred: 159.45 MB

Response time: 3.15 secs

Transaction rate: 43.49 trans/sec

Throughput: 4.56 MB/sec

Concurrency: 136.84

Successful transactions: 1520

Failed transactions: 480

Longest transaction: 19.18

Shortest transaction: 0.00

The strange thing is that when the framework turns off the debugging mode, a relatively large error occurs. Many failures. However, it is obvious that after simple optimization, Laravel's performance has been greatly improved, but it is still lower than the other two frameworks.

in conclusion:

ThinkPHP’s performance is nearly four times higher than Laravel.

php Chinese website, a large number of free laravel introductory tutorials, welcome to learn online!

The above is the detailed content of Thinkphp and laravel performance comparison. 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
Previous article:Is thinkphp5 php?Next article:Is thinkphp5 php?