Node.js应用程序的评测
我跟随这个链接,在我的应用程序(Expressjs)中分析一个特定的端点 端点将从Node.js应用程序的评测,node.js,performance,profiling,v8,epoll,Node.js,Performance,Profiling,V8,Epoll,我跟随这个链接,在我的应用程序(Expressjs)中分析一个特定的端点 端点将从s3下载pdf,使用线程池(由4个工作线程组成的池)用数据填充pdf(我使用HummusJS填充pdf),然后将填充的文件上载到s3,并用signedUrl响应填充的文件 测试由apache benchmark进行: ab-p req.json-T application/json-c 20-n 2000 http://{endpoint} profilling的输出如下所示: [Bottom up (heavy
s3
下载pdf,使用线程池(由4个工作线程组成的池)用数据填充pdf(我使用HummusJS
填充pdf),然后将填充的文件上载到s3,并用signedUrl
响应填充的文件
测试由apache benchmark进行:
ab-p req.json-T application/json-c 20-n 2000 http://{endpoint}
profilling的输出如下所示:
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 1.0% are not shown.
ticks parent name
287597 89.2% epoll_pwait
因此,我的问题是,epoll_wait
和epoll_pwait
意味着什么,因为它们占用了程序几乎100%的CPU时间 见
简言之,线程正在等待某些东西(可能是网络?可能是另一个线程?)
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 1.0% are not shown.
ticks parent name
1515166 98.5% epoll_wait