宜兴做网站多少钱/郑州搜狗关键词优化顾问
特性:
1. 在不失灵活和性能损失的情况下让网络开发更简单化,将网络层和业务层隔离开。
2. 采用ACE中的Reactor模型,集成各平台(except windows)内最优的事件驱动器(目前只集成了epoll,poll, select),windows平台使用select.
3. 采用最小堆完美实现定时器队列,并集成到事件分离器中,完全单线程化
4. 定时器队列支持linux 下crontab 形式的定时器
5. 完全异步连接、接收,最大化地使用系统CPU资源
6. 每个反应器完全独立,你可以创建任意多个反应器(每个反应器要跑在独立的线程上)
7. 反应器的接口线程安全。
8. 逐步完善中......
结构:
pyndk
/docs # documents
/examples # some examples
/pyndk # source files of framework
/tests # some test code
安装:
python setup.py install
缺陷:
1. 本人 python 项目经验缺乏,所以代码写得可能不是很pythonic
2. 可能存在无形的bugs,
3. 以上缺陷还请社区的群众们多多帮忙.
评测:
使用ab 做为测试工具,网络环境为LOOPBACK(
主要是测试框架的效率)
运行参数 ab -c 100 -n 10000 http://localhost:8000/
pyndk(单线程版本) 的测试结果
Requests per second: 9521.33 [#/sec] (mean)
pyndk(多线程版本) 的测试结果
Requests per second: 7912.17 [#/sec] (mean)
对应nginx/0.6.35的测试结果:
Requests per second: 6135.45 [#/sec] (mean)
对应C++版本的程序测试结果:
Requests per second: 10167.68 [#/sec] (mean)
结论:
因为没有做协议解析,只是简单的接收回复,比nginx并发高是很正常的,
但对应与C++版本的程序,差距还是非常小的(当然也可能是我的C++的
程序写得不好^_^),所以总体来说,初步版本的性能还是很令人满意的。
附:
源码地址: http://netdkit.googlecode.com/svn/trunk/ndk
获取方法: 1) svn co https://netdkit.googlecode.com/svn/trunk/pyndk pyndk
2) wget http://netdkit.googlecode.com/files/pyndk-1.0.0.tar.gz
期待大家提出宝贵意见!