今天用 ab 工具測試了一下框架,高效的性能讓我吃驚

首先展現一下其餘主要框架的測試:php

https://github.com/kenjis/php-framework-benchmark mysql

框架地址:nginx

https://github.com/chopins/toknotgit

測試用例是倉庫中app/admin應用github

個人測試環境:web

與上面用 apache web 服務器不一樣,我用的是 nginxsql

php 版本: 5.6.0數據庫

php 擴展狀況:apache

[PHP Modules]
Core
date
ereg
mysqli
mysqlnd
pcre
PDO
pdo_mysql
Reflection
session
SPL
standard
Zend OPcache

[Zend Modules]
Zend OPcache

php-fpm 配置:服務器

pm.max_children = 8
pm.start_servers = 4
pm.max_spare_servers = 4
pm.min_spare_servers = 2

測試命令:

ab -n 10000 -c 4 http://127.0.0.1/account/signup

業務:

  1. 構造和輸出了一個 HTML 表單
  2. 查詢了一個 MySQL 空表
  3. 初始化了 session, session 存在了數據庫的一個 memory 表中
  4. 路由用的是 symfony 的路由器

測試結果:

Server Software:        nginx/1.10.2
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /account/signup
Document Length:        36 bytes

Concurrency Level:      4
Time taken for tests:   11.643 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      2600000 bytes
HTML transferred:       360000 bytes
Requests per second:    858.89 [#/sec] (mean)
Time per request:       4.657 [ms] (mean)
Time per request:       1.164 [ms] (mean, across all concurrent requests)
Transfer rate:          218.08 [Kbytes/sec] received

858.89 RPS 比 CI-3.0 的 753.09 略高,比 fatfree3.5 的 965.16 略低

內存佔用:

  1. usage 2.4M
  2. peak 2.4M

PHP 7.0 測試狀況

opcache 版本:

Concurrency Level:      8
Time taken for tests:   7.578 seconds
Complete requests:      10000
Failed requests:        7
   (Connect: 0, Receive: 0, Length: 7, Exceptions: 0)
Total transferred:      102427973 bytes
HTML transferred:       100177973 bytes
Requests per second:    1319.60 [#/sec] (mean)
Time per request:       6.062 [ms] (mean)
Time per request:       0.758 [ms] (mean, across all concurrent requests)
Transfer rate:          13199.60 [Kbytes/sec] received

無 opcache 版本:

Concurrency Level:      100
Time taken for tests:   190.636 seconds
Complete requests:      50000
Failed requests:        41
   (Connect: 0, Receive: 0, Length: 41, Exceptions: 0)
Total transferred:      512146699 bytes
HTML transferred:       500896699 bytes
Requests per second:    262.28 [#/sec] (mean)
Time per request:       381.271 [ms] (mean)
Time per request:       3.813 [ms] (mean, across all concurrent requests)
Transfer rate:          2623.55 [Kbytes/sec] received

有無 opcache 相差好大

相關文章
相關標籤/搜索