每秒OSRM /后端docker可以处理多less个请求?
如果我托pipe在我们自己的服务器上,是否有下面的API可以处理每秒请求的限制?
http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true
我完成了https://hub.docker.com/r/osrm/osrm-backend/链接中提到的内容来运行OSRM docker指令。 (注意我没有使用前端)
一切似乎工作正常,即使我执行以下的API(注意这里的源极限是3) http://127.0.0.1:5000/table/v1/driving/79.865184,6.856469;79.867051,6.858589;79.862052,6.860068;79.863039 ,6.862401源= 1; 2; 3&目的地= 0
我得到了44毫秒的回应。
但是,如果我在上面的API中增加50个源信息,每秒发送1000个请求,我得到7到8秒的响应时间,CPU使用率为60-70。
这是我的服务器和OSRM文件大小信息:
- map.osrm文件大小:1.6GB
- 16核心CPU
- 24GB内存
- ulimit -n 1024
我也尝试过Nginx的负载均衡,下面简单介绍一下:
docker run -t -i -p 5000:5000 -v $(pwd):/ data osrm / osrm-backend osrm-routed –algorithm mld /data/map.osrm docker run -t -i -p 5001:5000 – v $(pwd):/ data osrm / osrm-backend osrm-routed –algorithm mld /data/map.osrm
并以如下方式访问该API:
http://127.0.0.1/table/v1/driving/79.865184,6.856469;79.867051,6.858589;79.862052,6.860068;79.863039,6.862401?sources=1;2;3&destinations=0
nginx.conf的简要设置如下:
worker_processes auto; events { worker_connections 2048; multi_accept on; } upstream myapp1 { server 127.0.0.1:5000 weight=1; server 127.0.0.1:5001 weight=2; } server { listen 192.168.180.93:80; location / { proxy_pass http://myapp1; } }
现在我的问题是,即使将其增加到50或更多,我如何使响应时间非常短(低于100ms)?