MVC4 / Mono 3.2.1应用程序在Nianx和Debian中运行 mono-fastcgi-4服务器。它以
开头MONOSERVER=$(which fastcgi-mono-server45)
WEBAPPS="/:/var/www/html/test/"
${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 &
测试时,浏览器F5键按住30秒。 之后有很长的延迟,浏览器显示页面加载图标。 延迟消息后
504 Gateway Time-out
nginx/0.7.67
出现
和top命令(下面的输出)显示单声道fastcgi服务器需要200%的CPU 永远或长时间(2芯)。 只有这样才能手动和手动杀死mono fastcgi服务器 重启它
如何使单声道fastcgi立即返回页面,而不是使用这么多的CPU ?
如果同一个应用程序托管Apache和mod_mono,持有和 在浏览器返回时释放F5键 页面立即显示,并且在F5发布后,cpu使用率立即变为0 浏览器。
top - 00:40:38 up 1:43, 3 users, load average: 16.49, 15.92, 15.35
Tasks: 59 total, 1 running, 58 sleeping, 0 stopped, 0 zombie
Cpu(s): 34.5%us, 65.5%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si,
0.0%st
Mem: 2097152k total, 744828k used, 1352324k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 120120k cached
PID VIRT RES SHR %CPU %MEM TIME+ COMMAND
4366 500m 121m 21m 198 5.9 6:24.45 /opt/mono-3.2/bin/mono
/opt/mono-3.2/lib/mono/4.5/fastcgi- ....
更新
回答 Bad gateway 502 after small load test on fastcgi-mono-server through nginx and ServiceStack
建议在nginx和fastcgi服务器中使用相同数量的线程。
我正在使用默认的nginx和mono fastcgi服务器配置,其中两者都可能允许1024个线程。
有关此问题的其他信息发布在https://stackoverflow.com/questions/20512978/how-to-limit-mono-197-cpu-usage-in-mono-fastcgi-server