今天用 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 相差好大

相关文章
相关标签/搜索