小编use*_*590的帖子

php并发请求卡住?

我有一个运行报告的PHP应用程序,并在90秒内向SQL服务器发出大约100万个SQL查询.在此期间,没有其他人可以使用这个基于Web的应用程序 - 鸡蛋计时器正在滚动,但在报告超时或完成之前没有任何内容加载.我在一个孤立的环境中测试了这个问题,只有我自己在那里,在浏览器中运行报告,然后从其他浏览器窗口到此应用程序站点的任何操作都挂起.

有关测试环境的一些细节:

Windows 2008 R2 x64 - IIS 7.5 - PHP 5.3.8 via FastCGI 
Windows 2008 R2 x64 - SQL Server 2008 R2 x64
Run Code Online (Sandbox Code Playgroud)

IIS中的FastCGI设置:

Instance MaxRequests = 200
Max Instances = 16
Activity Timeout = 70
Idle Timeout = 300
Queue Length = 1000
Rapid Fails PerMin = 10
Request Timeout = 90
Run Code Online (Sandbox Code Playgroud)

每个SQL请求在SQL服务器端完成不到60毫秒.Web服务器和SQL服务器的CPU负载均小于10%.运行报告时,Web服务器具有16GB RAM,大约60%的RAM可用.

看起来,PHP已经向SQL服务器发出了太多请求,并且变得太忙而无法处理其他请求.如果是这种情况,那么应该有一些我可以调整以使PHP处理更多并发请求的东西.

有人知道吗?请帮忙!

php performance fastcgi

2
推荐指数
1
解决办法
1402
查看次数

标签 统计

fastcgi ×1

performance ×1

php ×1