Closed cexll closed 4 years ago
name: shadowfax
type: http
host: 127.0.0.1
port: 1215
mode: base
access_log: true
app_pool_capacity: 10
server:
worker_num: 2
enable_coroutine: true
如果我把 mode
设置为 base
性能会高很多, 但是也会下降 ( 哦, 对咯, coroutine开启性能提高很多
开启coroutine压测结果
1000 -> 700 -> 600 -> 500 -> 400
我估计你测试的时候没有去掉session相关的中间件,Laravel默认使用file作为session的驱动,所以你的测试基本上就耗在创建这些session文件了,没有意义。我之前写的博文《Shadowfax: 让Laravel佩上Swoole之剑》里开头就有对压测的描述。
文件操作是非常耗资源的,你运行压测时的每一个请求都会去创建一个session文件,如此频繁性能下降也是必然的。如果你非要测试文件操作的性能,建议启用swoole的coroutine,以及一键协程化,这样性能会好很多。
我估计你测试的时候没有去掉session相关的中间件,Laravel默认使用file作为session的驱动,所以你的测试基本上就耗在创建这些session文件了,没有意义。我之前写的博文《Shadowfax: 让Laravel佩上Swoole之剑》里开头就有对压测的描述。
文件操作是非常耗资源的,你运行压测时的每一个请求都会去创建一个session文件,如此频繁性能下降也是必然的。如果你非要测试文件操作的性能,建议启用swoole的coroutine,以及一键协程化,这样性能会好很多。
好的, 谢谢解答,我去学习一下
我又来提问啦, 今天压测api发现, 接口性能多次压测会逐渐下降, 压测接口为 helloWorld 单字符串, 为了重现, 我下载了最新的
这是
api.php
这是
shadowfax.yml
配置这里列上三次压测结果, (均为连续压测