网站首页 > 技术教程 正文
我使用的框架是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
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)