用Python脚本对ASP.NET站点进行预热

很多人可能都会注意到,当一些新的代码部署到一个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站点进行预热”

Python中写文本文件的方法

最近在测试一个.NET下面的规则引擎,这个规则引擎用到了IronPython,PYTHON代码是写在配置文件里面的,.NET动态生成一些Python脚本,然后创建一个ScriptContext出来。测试这个动态生成的玩意儿很费劲!所以我就决定把python里面的变量都输出出去,这样就容易调试了。

一、打开文件
代码如下:
>>> f = open(“c:my.txt”, “w”)
说明:
open(filename[, mode[, bufsize]])
Continue reading “Python中写文本文件的方法”