Home > Article > PHP Framework > 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!