我们在2008R2上的IIS 7.5中有一个内部asp.net站点。早上的第一次负荷是低潮,超过40秒。
这是我没有成功的事情
IIS 7.5的已安装应用程序初始化模块
按照应用程序池的设置
网站设置
然后我做了一个手动应用程序池回收并等待事情安定下来并点击该网站。花了4秒钟,好多了,但还不是很好。
感觉不对,似乎不应该是必要的。但是我在网站本身添加了一些热身代码,这些代码命中数据库并使用HttpClient从自身获取几页。此代码在第一个请求(预加载)上运行,每15分钟使用一个计时器运行。
手动循环后,第一次加载速度应该很快。所以热身代码很好,我想。
但是第二天早上在Chrome浏览器中检查网站,首次加载需要40秒: - (。
我浏览了默认页面,这也是热身代码所得到的。我可以从日志中看到,热身代码在浏览网站前整晚都运行良好。
我想我已经使用了所有的技巧,所以我从哪里开始?
我的想法,将热身代码移出网站并由任务调度程序启动,甚至可能从另一台计算机启动?
使用HttpClient获取几页,与使用真实浏览器相同。也许在脚本中使用类似wget的东西会更好。