我有这个 python cgi 脚本,它检查它是否没有从同一个 IP 多次访问,如果一切正常,从磁盘(11MB)读取一个大文件,然后将其作为下载返回。
它有效,但性能很糟糕。瓶颈似乎是一遍又一遍地读取这个巨大的文件:
def download_demo():
"""
Returns the demo file
"""
file = open(FILENAME, 'r')
buff = file.read()
print "Content-Type:application/x-download\nContent-Disposition:attachment;filename=%s\nContent-Length:%s\n\n%s" % (os.path.split(FILENAME)[-1], len(buff), buff)
我怎样才能让它更快?我想过使用 ram 磁盘来保存文件,但必须有一些更好的解决方案。使用mod_wsgi
而不是 cgi 脚本会有所帮助吗?我可以将大文件保存在 apache 的内存空间中吗?
任何帮助是极大的赞赏。