Closed yzrzr closed 5 years ago
感谢反馈问题,我们及时修复!
@yangjianfeng9527
[root@a90a17194ad4 /]# ab -n 10000 -c 3000 127.0.0.1:88/bean/request This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 88
Document Path: /bean/request Document Length: 15 bytes
Concurrency Level: 3000 Time taken for tests: 1.991 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 1700000 bytes HTML transferred: 150000 bytes Requests per second: 5021.95 [#/sec] (mean) Time per request: 597.377 [ms] (mean) Time per request: 0.199 [ms] (mean, across all concurrent requests) Transfer rate: 833.72 [Kbytes/sec] received
centos 没有复现你这个问题,你是 mac 么
/**
* Class BeanController
*
* @since 2.0
*
* @Controller(prefix="bean")
*/
class BeanController
{
/**
* @RequestMapping()
*
* @return array
* @throws ReflectionException
* @throws ContainerException
*/
public function request(): array
{
$id = (string)Co::tid();
/* @var RequestBean $request*/
$request = BeanFactory::getRequestBean('requestBean', $id);
return $request->getData();
}
}
是的,我开发环境是mac
发自我的iPhone
------------------ 原始邮件 ------------------ 发件人: 李霖 notifications@github.com 发送时间: 2019年5月26日 19:15 收件人: swoft-cloud/swoft swoft@noreply.github.com 抄送: yangjianfeng9527 403565474@qq.com, Mention mention@noreply.github.com 主题: 回复:[swoft-cloud/swoft] Request Bean并发获取会报错 (#660)
@yangjianfeng9527
[root@a90a17194ad4 /]# ab -n 10000 -c 3000 127.0.0.1:88/bean/request This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 88
Document Path: /bean/request Document Length: 15 bytes
Concurrency Level: 3000 Time taken for tests: 1.991 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 1700000 bytes HTML transferred: 150000 bytes Requests per second: 5021.95 [#/sec] (mean) Time per request: 597.377 [ms] (mean) Time per request: 0.199 [ms] (mean, across all concurrent requests) Transfer rate: 833.72 [Kbytes/sec] received
centos 没有复现你这个问题,你是 mac 么
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
你用centos 测下,我要找下mac 试试
@yangjianfeng9527 你试下最新的2.0.1 做了优化
Details
使用\Swoft\Bean\BeanFactory::getRequestBean("AuthRequest", (string)\Swoft\Co::tid());并发获取时控制台会报如下错误: Warning: Uncaught ErrorException: require(/private/var/folders/sq/tjg51mrn09v7qgkz1mky0ds00000gn/T/AuthRequest_5cea4c2d9f1dd.php): failed to open stream: No such file or directory in /Users/coco/code/php/swoft2.0/vendor/swoft/proxy/src/Proxy.php:54 Stack trace:
0 /Users/coco/code/php/swoft2.0/vendor/swoft/aop/src/Concern/AopTrait.php(54): Swoft\Error\DefaultErrorDispatcher->handleError(2, 'require(/privat...', '/Users/coco/cod...', 54, Array)
1 /Users/coco/code/php/swoft2.0/vendor/swoft/aop/src/Concern/AopTrait.php(31): Swoft\Error\DefaultErrorDispatcher_5cea4c2b391ae->__invokeTarget('handleError', Array)
2 /private/var/folders/sq/tjg51mrn09v7qgkz1mky0ds00000gn/T/DefaultErrorDispatcher_5cea4c2b391ae.php(31): Swoft\Error\DefaultErrorDispatcher_5cea4c2b391ae->__proxyCall('Swoft\Error\Def...', 'handleError', Array)
3 /Users/coco/code/php/swoft2.0/vendor/swoft/proxy/src/Proxy.php(54): Swoft\Error\DefaultErrorDispatcher_5cea4c2b391ae->handleError(2, 'require(/privat...', '/Users/coco/cod...', 54, Array)
4 /Users/coc in /Users/coco/code/php/swoft2.0/vendor/swoft/proxy/src/Proxy.php on line 54
PHP Fatal error: Swoft\Proxy\Proxy::newClassName(): Failed opening required '/var/folders/sq/tjg51mrn09v7qgkz1mky0ds00000gn/T/AuthRequest_5cea4c2d9f1dd.php' (include_path='.:/usr/local/Cellar/php/7.2.11/share/php/pear') in /Users/coco/code/php/swoft2.0/vendor/swoft/proxy/src/Proxy.php on line 54
Fatal error: Swoft\Proxy\Proxy::newClassName(): Failed opening required '/var/folders/sq/tjg51mrn09v7qgkz1mky0ds00000gn/T/AuthRequest_5cea4c2d9f1dd.php' (include_path='.:/usr/local/Cellar/php/7.2.11/share/php/pear') in /Users/coco/code/php/swoft2.0/vendor/swoft/proxy/src/Proxy.php on line 54
正常访问是没问题的,使用ab工具会出现问题,ab -c 100 -n 1000 -k "http://127.0.0.1:18306/v1/index",无法重现可以把-c的并发数提高