网站首页 > 技术教程 正文
我使用的框架是python的fastAPI,一个简单的hello world,加一个sleep(2)模拟耗时操作。代码如下:
import time
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
time.sleep(2) # 模拟耗时操作
return {"Hello": "World"}先单进程启动
启动命令:
uvicorn --host 0.0.0.0 --port 5000 --workers 1 yourfilename:app使用的测试工具是ab(Apache Benchmark)。测试的时候为了避免干扰,最好将ab和服务放在不同的机器上。
-c 和 -n 参数可以从小到大慢慢增加
当并发数为 50 请求数为1000 时:
> ab -c 50 -n 1000 your_url
Requests per second: 5.87 [#/sec] (mean)
Time per request: 8518.141 [ms] (mean)当并发数为 100 请求数为1000 时:
> ab -c 100 -n 1000 your_url
Requests per second: 5.87 [#/sec] (mean)
Time per request: 17034.188 [ms] (mean)可以看到,平均每秒处理的请求数不变,单个请求的响应时间变长了
使用多进程启动:
uvicorn --host 0.0.0.0 --port 5000 --workers 4 yourfilename:app当并发数为 100 请求数为1000 时:
> ab -c 100 -n 1000 your_url
Requests per second: 21.66 [#/sec] (mean)
Time per request: 4617.610 [ms] (mean)可以看到,使用多进程,平均每秒处理的请求数变多了,单个请求的响应时间也变短了
nginx负载均衡
当并发量超过一定数量,一台机器也难以承受,这时候可以部署多台服务器,然后用nginx做负载均衡。
nginx的关键配置:
http {
……
upstream load_balance_test {
# 你的多台服务器 结合业务情况,设置转发规则
server 1.1.1.1:5000;
server 192.168.1.1:5000;
}
server {
listen 80;
……
location / {
proxy_pass http://load_balance_test;
}
}
……
}这次同样是 并发数 100 请求数1000,请求地址是nginx所监听的地址:
> ab -c 100 -n 1000 nginx地址:端口
Requests per second: 33.19 [#/sec] (mean)
Time per request: 3012.560 [ms] (mean)
猜你喜欢
- 2024-10-13 Nginx 多进程高并发、低时延、高可靠机制在滴滴缓存代理中的应用
- 2024-10-13 linux的TCP连接数量不能超过65535个,如何应对千万的并发的?
- 2024-10-13 Nginx实现高速并发处理的原理详解
- 2024-10-13 Java开发大型互联网企业高并发限流特技
- 2024-10-13 高并发下的Nginx限流实战(nginx并发能力是多少)
- 2024-10-13 nginx——控制 Nginx 并发连接数(nginx 并发限流)
- 2024-10-13 Nginx(七) 测试使CPU占用更多能否提升并发数
- 2024-10-13 Nginx凭啥子并发数可以达到3w!(nginx的并发量)
- 2024-09-28 服务器能承载3000人但来5000人!服务器宕机了!如何救
- 2024-09-28 让腾讯失眠大数据专家,一文带你读懂Linux与高并发,总计4.56G
欢迎 你 发表评论:
- 12-17装机助理重装系统靠谱吗(装机助理好用吗)
- 12-17微软官方win10工具(微软windows工具)
- 12-17系统之家园(系统家园的系统安全吗)
- 12-17win7产品密钥永久激活码最新
- 12-17分区工具怎么用(分区工具教程)
- 12-17数据库软件有哪几种(数据库说白了是干什么的)
- 12-17wms系统(WMS系统的功能有哪些)
- 12-17win8适合打游戏吗(win8.1玩游戏好不好)
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)