单查究事
起首测试python单查究事,同时也是单线程办事(因为python GIL的存在,python多线程对于计算密集型义务几乎起反感化)。
- 启动办事
- #!/bin/sh
- #python
- export PYTHONIOENCODING=utf-8
- #start server
- cd `pwd`/..
- echo "run single pocess server"
- python server.py
- cd -
- echo "server is started."
- 测试办事
别的打开一个终端,履行script目次下的bench.sh,即
- #!/bin/sh
- ab -T 'application/json' -p post.data -n 100 -c 10 http://127.0.0.1:4096/api/foo
- 测试结不雅
总结
CPU运转
ab测试结不雅
可以看出CPU只用了1个核,负载是2.44 request/second。
多核
- 启动办事
在script目次下履行run_parallel.sh,即
- #!/bin/sh
- #python
- export PYTHONIOENCODING=utf-8
- #start server
- cd `pwd`/..
- echo "run parallel pocess server"
- gunicorn -c gun.conf server:app
- cd -
- echo "server is started."
个中gun.conf是一个python脚本,设备了gunicorn的一些参数,如下:
- import multiprocessing
- bind = '0.0.0.0:4096'
- workers = max(multiprocessing.cpu_count()*2+1,1)
- backlog = 2048
- worker_class = "sync"
- debug = False
- proc_name = 'foo_server'
- 测试办事
别的打开一个终端,履行script目次下的bench.sh,即
- #!/bin/sh
- ab -T 'application/json' -p post.data -n 100 -c 10 http://127.0.0.1:4096/api/foo
- 测试结不雅
CPU运转
ab测试结不雅
可以看出CPU用满了4个核,负载是8.56 request/second。是单核的3.5倍阁下,可以义务根本杀青多核有效应用的的目标。
推荐阅读
电信行业肯定欲望在超高容量和低延迟的下一代收集的支撑下安排5G营业,然则在5G商用之前,该技巧须要做进一步>>>详细阅读
本文标题:使用Python提供高性能计算服务
地址:http://www.17bianji.com/lsqh/35421.html
1/2 1