我们有一个相当受欢迎的网站,每个月有大约4万用户。它托管在一个专用盒子上,配有16 gb Ram,2个procc,24个内核。
在任何给定时间,CPU始终低于40%且内存低于12 GB,但在最高流量时,我们发现性能非常差。该网站非常慢。我们有2个应用程序池,一个用于我们的主站点,另一个用于我们的论坛只有网站很慢。我们对每个应用程序池的cpu或内存没有任何限制。
我看过他的表演专柜,我看到了一些非常有趣的东西。在我们偷看时间由于某种原因请求排队。总体上下文切换数量非常高,约为30-110 000 k。
据我所知,高上下文切换是由锁引起的。任何人都可以给我一个示例代码,这将导致大量的上下文切换。
答案 0 :(得分:1)
我不太关心环境转换,我不认为这些数字是巨大的。你有很多线程在IIS中运行(因为它是24核心机器),并且预期会有更高的上下文切换数。但是,我绝对关心请求排队。
我会做几件事,看看它会如何影响你的表现指标:
谷歌和雅虎的建议:
https://developers.google.com/speed/docs/insights/rules
https://developer.yahoo.com/performance/rules.html
如果您遵循所有这些建议,我相信您会得到一些改进!