addproject

This commit is contained in:
qiaoxinjiu
2026-01-22 19:10:37 +08:00
commit 6994b185a3
184 changed files with 21039 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import concurrent.futures
import requests
import time
import json
cost_time = []
ALL_TIMES = 10000
def make_request(url, method='GET', data=None):
try:
start_time = int(time.time() * 1000)
if method.upper() == 'POST':
response = requests.post(url, json=data, headers={"content-type": "application/json;charset=UTF-8"})
else: # 默认使用GET方法
response = requests.get(url, params=data)
end_time = int(time.time() * 1000)
elapsed_time = end_time - start_time
cost_time.append(elapsed_time)
return response.text, elapsed_time
except requests.RequestException as e:
return f"Request failed: {e}", None
def main():
r_url = {'url': 'https://swagger.qa.huohua.cn/peppa-teach-timetable-server/timetableStudentServiceApi/queryListByIds',
'method': 'POST', 'data': [225838679]}
requests_list = [r_url] * ALL_TIMES
m_start_time = int(time.time() * 1000)
success_times = 0
with concurrent.futures.ThreadPoolExecutor(max_workers=50) as executor:
future_to_req = {executor.submit(make_request, req['url'], req['method'], req['data']): req for req in requests_list}
for future in concurrent.futures.as_completed(future_to_req):
req = future_to_req[future]
try:
data, elapsed_time = future.result()
if data and json.loads(data).get('code') == 200:
success_times += 1
# print(f"URL: {req['url']}\nMethod: {req['method']}\nData: {req['data']}\nResponse:\n{data}\nElapsed time: {elapsed_time:.2f} seconds\n")
print("-----:本次耗时{}ms".format(elapsed_time))
except Exception as e:
print(f"Error fetching {req['url']}: {e}")
m_end_time = int(time.time() * 1000)
all_times = (m_end_time - m_start_time)/1000
tps = ALL_TIMES / all_times
print("共计访问接口:{}次,成功访问接口:{}次,持续时长:{}tps: {}"
.format(len(cost_time), success_times, all_times, tps))
print("成功访问接口:{}".format(success_times))
print("单次最大耗时:{}ms".format(max(cost_time)))
print("单次最小耗时:{}ms".format(min(cost_time)))
print("单次平均耗时:{}ms".format(sum(cost_time) / len(cost_time)))
if __name__ == "__main__":
main()