测试方法

用c编写一个客服端 client.c,使用多线程去访问server,计算每秒访问的次数。

client.c 的用法如下:

client [-e echo counts per conn] [-c conn count per threads] [-t threads count] [-p port] [-f filename to load] serverip

测试服务器代码

测试结果

c ./server_libev 3100

Throughput: 214467.02 [reqests/sec], errors: 0

Throughput: 220804.31 [reqests/sec], errors: 0

Throughput: 220903.15 [reqests/sec], errors: 0

Throughput: 219720.81 [reqests/sec], errors: 0

Throughput: 225590.31 [reqests/sec], errors: 0

python server_epoll.py 3900

Throughput: 108003.46 [reqests/sec], errors: 0

Throughput: 108214.69 [reqests/sec], errors: 0

Throughput: 108591.34 [reqests/sec], errors: 0

Throughput: 110309.58 [reqests/sec], errors: 0

Throughput: 109282.61 [reqests/sec], errors: 0

python3 server_epoll.py 4000

Throughput: 115253.85 [reqests/sec], errors: 0

Throughput: 115190.78 [reqests/sec], errors: 0

Throughput: 116379.82 [reqests/sec], errors: 0

Throughput: 114897.09 [reqests/sec], errors: 0

Throughput: 112700.61 [reqests/sec], errors: 0

上面的服务器每次连接没有建立协程。

python server_gevent.py 3200

Throughput: 51046.04 [reqests/sec], errors: 0

Throughput: 52686.71 [reqests/sec], errors: 0

Throughput: 51715.62 [reqests/sec], errors: 0

Throughput: 51969.31 [reqests/sec], errors: 0

Throughput: 51036.19 [reqests/sec], errors: 0

python3 server_gevent3.py 3300

Throughput: 85031.97 [reqests/sec], errors: 0

Throughput: 88128.32 [reqests/sec], errors: 0

Throughput: 82256.00 [reqests/sec], errors: 0

Throughput: 81709.07 [reqests/sec], errors: 0

Throughput: 86061.96 [reqests/sec], errors: 0

python server_tornado.py 3400

Throughput: 52252.68 [reqests/sec], errors: 0

Throughput: 52748.79 [reqests/sec], errors: 0

Throughput: 51505.06 [reqests/sec], errors: 0

Throughput: 53063.38 [reqests/sec], errors: 0

Throughput: 51842.82 [reqests/sec], errors: 0

python3 server_tornado.py 3500

Throughput: 47059.97 [reqests/sec], errors: 0

Throughput: 45552.64 [reqests/sec], errors: 0

Throughput: 46548.64 [reqests/sec], errors: 0

Throughput: 46035.63 [reqests/sec], errors: 0

Throughput: 45992.27 [reqests/sec], errors: 0

python server_twisted.py 3600

Throughput: 43411.09 [reqests/sec], errors: 0

Throughput: 42923.03 [reqests/sec], errors: 0

Throughput: 43965.73 [reqests/sec], errors: 0

Throughput: 44171.67 [reqests/sec], errors: 0

Throughput: 43845.68 [reqests/sec], errors: 0

python3 server_twisted.py 3700

Throughput: 40452.62 [reqests/sec], errors: 0

Throughput: 41188.00 [reqests/sec], errors: 0

Throughput: 40992.47 [reqests/sec], errors: 0

Throughput: 40710.83 [reqests/sec], errors: 0

Throughput: 41069.76 [reqests/sec], errors: 0

python3 server_asyncio.py 3800

Throughput: 58291.01 [reqests/sec], errors: 0

Throughput: 58510.31 [reqests/sec], errors: 0

Throughput: 59923.10 [reqests/sec], errors: 0

Throughput: 59477.78 [reqests/sec], errors: 0

Throughput: 59639.14 [reqests/sec], errors: 0

结论

gevent+python3 性能最优。

python echo服务器_python常用框架 echo server 的测试相关推荐

  1. python api开发框架_python api框架

    python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...

  2. python多人游戏服务器_Python在线多人游戏开发教程

    python多人游戏服务器 This Python online game tutorial from Tech with Tim will show you how to code a scalea ...

  3. python 局域网服务器_Python一秒搭建ftp服务器,帮助你在局域网共享文件

    "老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...

  4. python dcf估值_Python 常用模块

    本节内容 模块介绍 os 模块 sys 模块 time & datetime模块 random 模块 json & picle shutil 模块 shelve 模块 xml 模块 c ...

  5. python字符串类库_Python 常用类库

    python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1 ...

  6. python app服务器_Python应用02 Python服务器进化

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! **注意,在Python 3.x中,BaseHTTPServer, SimpleH ...

  7. python socket服务器_python网络编程学习笔记(三):socket网络服务器

    1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较.步骤 TCP客户端 TCP服务器 第一步 建立socket对象 建立socket对象 ...

  8. python django开发框架_Python Django 框架开发

    参考文档: http://python.usyiyi.cn/django_182/intro/tutorial01.html #Django 1.8.2 文档 http://www.ziqiangxu ...

  9. python爬虫对比_Python六大框架对比,Web2py略胜一筹|python爬虫|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的 ...

最新文章

  1. Mongodb的索引操作
  2. spring中文参考手册-核心技术_ioc
  3. 让携号转网不再难!但你得了解这几大限制
  4. 假如你有20万用来创业,你最想进入什么行业?
  5. 【浙江大学PAT真题练习乙级】1008 数组元素循环右移问题 (20分)真题解析
  6. Maven中配置redis时有红色感叹号
  7. 2021-08-05查询排序分页语句
  8. 单身10年!最孤单水蛙“罗密欧”有望“脱单”
  9. CMD恶搞命令集,假装自己是黑客
  10. CC2530之OLED12864程序详解
  11. 机器人领域SCI期刊总结
  12. 傲腾这么厉害?QLC闪存笑了!
  13. 浙大计算机跨专业考研心路历程记录
  14. java记录访问次数_使用java中的session来记录访问次数
  15. OpenCV每日函数 图像过滤模块 (6) erode腐蚀函数
  16. 嵌入式的可移植性和可复用性
  17. 南华大学计算机科学学院,南华大学计算机科学与技术学院研究生导师简介-万亚平...
  18. dashboard的安装使用
  19. Swift4打造今日头条视频实战视频教程
  20. smartctl获取raid卡下intel ssd寿命

热门文章

  1. mysql 全局select授权_MySQL的用户设置与授权
  2. Error creating bean with name ‘userController‘: Unsatisfied dependency expre
  3. android获得一个view的高度,Android ViewTreeObserver使用总结及获得View高度的几种方法...
  4. 中国人工智能产业发展联盟成立 360任副理事长单位
  5. iOS之设置用户头像的圆角
  6. 整合框架过程记录日志
  7. [翻译]01-ASP.NET MVC 3介绍
  8. 超级日志服务器-Splunk
  9. 这些工具你利用好了吗?
  10. FileUpload 控件 禁止手动输入