很多人可能都会注意到,当一些新的代码部署到一个ASP.NET的站点后,第一次访问的时候是非常慢的,有可能需要等待超过一分钟;如果我们更新了站点的bin目录下的一些dll文件,那么这种情况会变得更加明显。当第一个页面请求到达服务器的时候,IIS会重新编译文件,这时候可以观察到w3wp.exe和csc.exe都会占用很多CPU。我们不希望用户是IIS重启之后第一个访问者,所以每台服务器在上线之前,都需要做预热处理。所谓预热处理,原理很简单,就是向目标服务器发送一些HTTP请求,从而触发服务器对文件进行编译,实现预热。
为什么用Python?一位大师曾经说过,程序员要每6个月就要学习一门新的语言(这个要求还真苛刻),所以决定学习一下Python。
需求:其实这个需求特别简单
1. 发送HTTP请求,Python自带的httplib库就能满足这个需求了
2. 多线程访问不同的站点,现在MySpace常用站点至少有4个
3. 指定服务器的IP,因为测试的服务器也有多台
4. 获取HTTP请求的状态
5. 需要在登录状态下进行预热
Continue reading “用Python脚本对ASP.NET站点进行预热”