2011年01月12日 星期三 09:51
如果对“非阻塞”还不太明白的童鞋,可以先看下之前的一篇
《PHP中实现非阻塞模式》
。
Tornado由Python编写,是一款轻量级的Web服务器,同时又是一个开发框架。
采用非阻塞I/O模型(epoll),主要是为了应对高并发访问量而被开发出来,尤其适用于comet应用。
简单介绍就这样吧,预知详情请自行翻墙到其官网
www.tornadoweb.org
了解。
翻墙?米错,翻墙!因为他的东家是早被我朝和谐掉的大名鼎鼎的——“非死不可”~
2009年9月11日,Facebook的网站发布了Tornado,基于Python构架采用了Apache 2.0许可证。
Facebook声称,Tornado支持实时定位功能的内嵌式FriendFeed。
该软件比较简单,但是可以大规模不间断地处理成千上万个并发事务。
python中支持非阻塞的网络开发框架很多,目前重量级的老大应该算是
Twisted
,也正由于其的重量级,以至于O'Reilly有一本书来专门介绍。算了,学习成本较高,暂不考虑吧~
先扯到这里吧,下面进入正题
我的环境:ubuntu 10.04 + Python 2.6
没有装一下包的先装下
sudo apt-get install python-dev python-pycurl python-simplejson
然后下载安装tornado
tar xvzf tornado-0.2.tar.gz
cd tornado-0.2
python setup.py build
sudo python setup.py install
我的测试Demo:
test.php
根据url中参数,进行延迟。
asyn_test.py
sync_test.py
分别运行测试
linvo@ubuntu:~/lab/python$ python asyn_test.py
S:1
S:2
S:3
Used 3.02 secend(s)
linvo@ubuntu:~/lab/python$ python sync_test.py
S:1
S:2
S:3
Used 6.02 secend(s)
效果很明显,不是么:)
转载来源:
http://blog.csdn.net/linvo/archive/2010/08/06/5793764.aspx
Zeuux © 2024
京ICP备05028076号