高并发测试目的
主要测试A800显卡在以下场景下的生成token能力:
测试结果
单卡启动1个服务
并发类型 | 并发数量 | 每秒生成tokens |
---|
多线程 | 5 | 90 |
多线程 | 10 | 76 |
多线程 | 30 | 45 |
多线程 | 50 | 32 |
多线程 | 100 | 23 |
单卡启动2个服务
并发类型 | 并发数量 | 服务1每秒生成tokens | 服务2每秒生成tokens | 平均每秒生成tokens |
---|
多线程 | 5 | 82 | 83 | 82.5 |
多线程 | 10 | 67 | 69 | 68 |
多线程 | 30 | 43 | 41 | 42 |
多线程 | 50 | 26 | 28 | 27 |
多线程 | 100 | 19 | 20 | 19.5 |
单卡启动3个服务
并发类型 | 并发数量 | 服务1每秒生成tokens | 服务2每秒生成tokens | 服务3每秒生成tokens | 平均每秒生成tokens |
---|
多线程 | 5 | 87 | 86 | 88 | 87 |
多线程 | 10 | 70 | 71 | 69 | 70 |
多线程 | 30 | 41 | 42 | 40 | 41 |
多线程 | 50 | 33 | 34 | 32 | 33 |
多线程 | 100 | 20 | 21 | 19 | 20 |
双卡每个卡启动一个服务
并发类型 | 并发数量 | 卡1每秒生成tokens | 卡2每秒生成tokens | 平均每秒生成tokens |
---|
多线程 | 5 | 88 | 88 | 88 |
多线程 | 10 | 73 | 74 | 73.5 |
多线程 | 30 | 45 | 46 | 45 |
多线程 | 50 | 33 | 33 | 33 |
多线程 | 100 | 22 | 20 | 21 |
测试结论
- 单张卡启动多少服务对生成token速度有影响,不同卡之间启动的服务数对生成token速度的影响可忽略不计。
- 以A800为例,设置
--gpu_memory_utilization
为0.25,建议每张卡启动三个服务,确保GPU利用率最高且服务稳定。
性能测试及高并发推理调度进程占用资源情况
- 单卡多服务:每张卡最多启动3个服务,保持GPU内存使用率在0.25-0.4之间,确保服务稳定。
- 多卡多服务:不同卡之间的服务启动数量对生成token速度影响不大,但需确保总的GPU内存使用率适当,以避免崩溃。