文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>初学epollreactor

初学epollreactor

时间:2008-09-26  来源:mhz-ada

  前几个月,因为教研室师兄的大力推荐,大家跟着学习了下twisted,我也简单的学习了下reactor,factory,deferred等基本的twisted的应用模式,后来因为教研室其他事情比较多,就没怎么继续深入了,最近被派到北京,因为项目需求,又重拾twisted,再次学习中,发现twisted的强大。
  今天下午学着试了下,epollreactor,以前都是在c/c++下用epoll,这次试验下python下实现epollreactor,还是最基本的回射服务器,本以为很轻松的搞定,没想到一些小细节啊,老是出错,后来咨询啦下老郭同志,俺们的大师兄,后面总算找到问题,记录下来,以免再犯,哈哈。
   1. reactor全局一般是一个,所以factory出错处理的时候,最好是不要用reactor.stop(),不然就会报错了,"Can't stop reactor that isn't running",关了唯一的一个,后面出错的时候再去关,当然就会出错了。我个人处理的时候就简单的把这个连接关闭了,然后打印出错。
   2. 两边都是要epollreactor.install(),第一次的时候,就是忘记在客户端弄这个了(对了,别忘记了ulimit设置fd哦),导致一直卡在1020这个数目上,啧啧。

   好了,一切完成,现在在epollreactor的模式下测试下6000个连接,用nmon分析下:
CPU: User% Sys% Wait% Idle% CPU%
Avg 1.2 4.4 0.0 94.4 5.6
Max 23.5 90.0 0.0 100.0 100.0
Max:Avg 19.8 20.3 0.0 1.1 17.8

500)this.width=500;" border="0"> nmon -f(保存到文件) -s(打印间隔时间) -c(打印次数)
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载