-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP Persistent Connection in osrm-routed #531
Comments
Hi, we have the same setup here. you can work around this on linux by setting this:
|
Still a HTTP/1.1 keep alive session would be much preferred. In the end OSRM is that fast that the whole process is latency bound and so tcp handshakes etc add up. I am having the same issues and tweaking the tcp stack to work around missing features is at most a temporary solution :) |
depending on your use case - but for maximum speed you can also use osrm as a lib and compile it into your own app |
or use the NodeJS bindings |
emiltin: We would love to have osrm as a lib, but last time we checked (in 2012) it was not portable to Windows; it's heavily dependent on a Unix environment. We need to run it on both platforms. So, a portable osrm would be great! |
We do have Windows support for a couple of months now. The latest binary from develop branch is available here: http://build.project-osrm.org |
I am running mostly perl pulling geometrys from a postgis - running osrm and putting back the geometry into the postgis. OSRM working as library with perl bindings would be an option. |
@woodbri created postgresql extentions/tools for interfacing with osrm: https://github.com/woodbri/osrm-tools#postgresql |
Hi, does this issue still persist? @drieks do I still need to apply the work around you suggested? and where? |
Hi @mehany, sorry but I can't tell you because I'm not working on this for some time... |
The example HTTP server is really not suited very well for production. We mostly keep it around for debugging and make small deployments easier. I would highly recommend to use the node bindings or the C++ API if you really have production requirements. |
We are running osrm-routed on a local box, and send thousands of requests to it. Then our client runs out of 'Ephermal Ports', probably because a new HTTP/TCP connection is created for each request.
Does osrm-routed check and use the HTTP header 'Connection: keep-alive' (which should control the SO_KEEPALIVE socket option)? Or does it close the connection immediately? Our client (using Java SDK) sends the header in the request, but the response does not appear to have it.
How, exactly, does osrm-routed handle Persistent Connections?
The text was updated successfully, but these errors were encountered: