调试到这一步,解析控制器的时候卡住了好久
执行php start.php status结果;没有报错
执行 php start.php status 贴下
debug方式运行 php start.php start ,等2分钟,看下终端界面有没有报错。
有调试能力的就继续调试下,看下哪里慢
开一个进程,然后php start.php status 找下这个进程pid,执行 strace -ttp 进程pid, 在页面访问下,截图下strace结果
strace -ttp 进程pid
docker没有strace指令
我试了一下自己的第一次启动请求,在浏览器里看到的等待时间: 不连数据库大概600~900毫秒, 连数据库大概1000~2000毫秒 第二次以后就比较快了,基本在50~80毫秒左右。但如果长时间不请求再次请求就又是600多毫秒。
我的环境是windows使用wsl2安装Ubuntu20,php8.1。 如果不使用wsl,直接windows上运行就非常快,基本是个位数的响应时间。 php start.php status显示的响应实际是挺快的:
Workerman version:4.0.37 PHP version:8.1.6 start time:2022-05-26 15:27:02 run 0 days 0 hours load average: 0.15, 0.45, 0.5 event-loop:\Workerman\Events\Select 2 workers 17 processes worker_name exit_status exit_count webman 0 0 monitor 0 0 ----------------------------------------------PROCESS STATUS--------------------------------------------------- pid memory listening worker_name connections send_fail timers total_request qps status 18584 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18585 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18586 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18587 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18588 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18589 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18590 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18591 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18592 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18593 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18594 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18595 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18596 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18597 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18598 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18599 3.35M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle] 18600 2.94M none monitor 0 0 2 0 0 [idle] ----------------------------------------------PROCESS STATUS--------------------------------------------------- Summary 50M - - 0 0 18 0 0 [Summary]
今天装了strace测试了,好像一直在跑
lstat("/www/order-webman/app/vue3/node_modules/element-plus/dist/locale/sr.min.mjs", {st_mode=S_IFREG|0777, st_size=4688, ...}) = 0
/www/order-webman/app/vue3这个是vue3写的前端,为啥会跑这个目录呢?
所以说,无关项目不能放到app下面?不然会遍历所有的文件,所以导致第一次请求速度变慢
vue3目录不要放到app下,app下只放php文件。 webman 启动后第一个请求会扫描整个app目录找到请求对应控制器,vue3目录文件太多了,所以慢。
mark 建议把这句话加到目录介绍那里
新版没这个问题了
大佬,如果有时间麻烦看下下面我提的一个相关的问题,感谢~
vue3 项目应该和app目录应该是平级的
执行 php start.php status 贴下
debug方式运行 php start.php start ,等2分钟,看下终端界面有没有报错。
有调试能力的就继续调试下,看下哪里慢
开一个进程,然后php start.php status 找下这个进程pid,执行
strace -ttp 进程pid
, 在页面访问下,截图下strace结果docker没有strace指令
我试了一下自己的第一次启动请求,在浏览器里看到的等待时间:
不连数据库大概600~900毫秒,
连数据库大概1000~2000毫秒
第二次以后就比较快了,基本在50~80毫秒左右。但如果长时间不请求再次请求就又是600多毫秒。
我的环境是windows使用wsl2安装Ubuntu20,php8.1。
如果不使用wsl,直接windows上运行就非常快,基本是个位数的响应时间。
php start.php status显示的响应实际是挺快的:
今天装了strace测试了,好像一直在跑
/www/order-webman/app/vue3这个是vue3写的前端,为啥会跑这个目录呢?
所以说,无关项目不能放到app下面?不然会遍历所有的文件,所以导致第一次请求速度变慢
vue3目录不要放到app下,app下只放php文件。
webman 启动后第一个请求会扫描整个app目录找到请求对应控制器,vue3目录文件太多了,所以慢。
mark 建议把这句话加到目录介绍那里
新版没这个问题了
大佬,如果有时间麻烦看下下面我提的一个相关的问题,感谢~