米尔电子
直播中

华仔stm32

3年用户 2996经验值
擅长:嵌入式技术
私信 关注

【米尔王牌产品MYD-Y6ULX-V2开发板试用体验】tornado并发测试

开发板安装了python2.7与Python3.8。今天进行tornado网络测试。
1、安装tornado,如果直接pip3 install torando会报错:

pip3 install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com tornado
2、新建测试程序:

#-*- coding:utf-8 -*-
import tornado.web
import tornado.ioloop


#定义处理类型
class IndexHandler(tornado.web.RequestHandler):
    #添加一个处理get请求方式的方法
    def get(self):
        #向响应中,添加数据
        self.write('好看的皮囊千篇一律,有趣的灵魂万里挑一。')

if __name__ == '__main__':
    #创建一个应用对象
    app = tornado.web.Application([(r'/',IndexHandler)])
    #绑定一个监听端口
    app.listen(8888)
    #启动web程序,开始监听端口的连接
    tornado.ioloop.IOLoop.current().start()

4、将程序上传开发板并运行:
root@myd-y6ull14x14:~# python3 python_server.py
5、开启top观察,发现运行server还是非常点CPU资源的:
image.png

6、编译测试程序:

import requests
import json
import re

import threading
import queue, time

header = header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

url = 'http://192.168.3.181:8888'


def get_page(url):
    try:
        index = requests.get(url, headers=header)
        if index.status_code == 200:
            return 1
        else:
            return 0
    except Exception as e:
        print(str(e))
        return 0

for i in range(1,10000):

    if get_page(url) == 0:
        print( "erro end in %d", i)
    else:
        print('成功:' + str(i))

并且同时开启4个程序:

image.png
CPU点用率达到93%:
image.png
但是我同时开到5个进程以上时,他的CPU占用率就不上升了:
image.png

经过10多分钟的测试,顺利通过。

image.png

经过上述的测试说明米尔王牌产品MYD-Y6ULX-V2开发板,能应付高并发请求,网络性能强。

更多回帖

发帖
×
20
完善资料,
赚取积分