首页 > 编程语言 > 详细

python nginx不同参数压测脚本

时间:2020-07-28 11:02:27      阅读:91      评论:0      收藏:0      [点我收藏+]

Server:

技术分享图片
 1 from flask import Flask, request, jsonify
 2 import json
 3 import re
 4 import os
 5 import subprocess
 6 
 7 conf_file_src = /etc/nginx/nginx.conf
 8 restart_shell = sudo service nginx restart
 9 
10 app = Flask(__name__)
11 
12 # 重置conf文件
13 # conf文件中要测试的值置为 ###arg###
14 def reset_conf(file_name, data):
15     # 打开模板文件
16     file = open(file_name, r)
17     file_temp = file.read()
18     for key in data:
19         # 替换要调试的参数
20         re_model = re.compile(r###)
21         args = re.findall(r###\S + key + ###, file_temp)
22 
23         for arg in args:
24             print(arg)
25             file_temp = file_temp.replace(arg, data[key], 100)
26 
27     # 写入新的配置文件
28     file_conf = open(conf_file_src, w+)
29     file_conf.write(file_temp)
30     file_conf.close()
31 
32 
33 # 重启nginx服务
34 def reset_service():
35     # 重启service
36     res = os.popen(restart_shell).readline()
37     return Result:  + res
38 
39 # url : xxx.xxx.xxx.xxx:5000/restart
40 # 参数:
41 # data: {‘arg1‘:‘v1‘,‘arg2‘:‘v1‘]}
42 # 返回:转发执行结果
43 @app.route(/restart, methods=[POST])
44 def restart():
45     data = json.loads(request.get_data(as_text=True))
46     print(data)
47     reset_conf("nginx.conf.template", data)
48     result = reset_service()
49     return result
50 
51 if __name__ == __main__:
52     app.run()
View Code

Client:

技术分享图片
 1 import requests
 2 import json
 3 
 4 url = "http://127.0.0.1:5000/restart"
 5 field = sendfile
 6 data = ["on", "off"]
 7 
 8 def reset():
 9     for s in data:
10         #发送请求修改nginx配置文件
11         json = {" + field +":" + s +"}
12         res = requests.post(url=url, data={"sendfile":"on"})
13         print(json)
14         print(res)
15         print(res.content)
16 
17         #压力测试
18         # wrk ...
19 
20 if __name__ == __main__:
21     reset()
View Code

 

python nginx不同参数压测脚本

原文:https://www.cnblogs.com/HadesBlog/p/13388434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!