Efficient data transfer through zero copy in Java
1–10 of 13 posts
Re: Efficient data transfer through zero copy in Java
#2(Note that I'm not questioning the technique, I just don't entirely agree on the way the article portrays the benefit of this method in webservers.)
Re: Efficient data transfer through zero copy in Java
#3It's a nice idea, but I wonder about the use cases. How often would a Java webserver serve a file from disk without modifying it along the way? If performance is an issue then you'd serve the really static files with nginx (or a similar alternative), and every other file (jsp templates etc.) would be read in memory before being sent on. (Note that I'm not questioning the technique, I just don't entirely agree on the…
You can effectively concatenate stuff by just writing both to the same channel - which means you can get the zero-copy performance benefits for the static parts of your data if you know exactly how much static data there is before you need to write out something dynamic.
Re: Efficient data transfer through zero copy in Java
#4It's a nice idea, but I wonder about the use cases. How often would a Java webserver serve a file from disk without modifying it along the way? If performance is an issue then you'd serve the really static files with nginx (or a similar alternative), and every other file (jsp templates etc.) would be read in memory before being sent on. (Note that I'm not questioning the technique, I just don't entirely agree on the…
Often you're serving big chunks of static content with a little bit of dynamic content sprinkled in. You can effectively concatenate stuff by just writing both to the same channel - which means you can get the zero-copy performance benefits for the static parts of your data if you know exactly how much static data there is before you need to write out something dynamic.
I can see the use if one would recreate a server from the ground up. But that would be a rather large task.
Re: Efficient data transfer through zero copy in Java
#5It's a nice idea, but I wonder about the use cases. How often would a Java webserver serve a file from disk without modifying it along the way? If performance is an issue then you'd serve the really static files with nginx (or a similar alternative), and every other file (jsp templates etc.) would be read in memory before being sent on. (Note that I'm not questioning the technique, I just don't entirely agree on the…
At the same time, I can imagine plenty of companies dont have the resources or expertise to do these kinds of things.In that case this looks pretty helpful.
Re: Efficient data transfer through zero copy in Java
#6Re: Efficient data transfer through zero copy in Java
#7Earlier quoted context omitted.
Often you're serving big chunks of static content with a little bit of dynamic content sprinkled in. You can effectively concatenate stuff by just writing both to the same channel - which means you can get the zero-copy performance benefits for the static parts of your data if you know exactly how much static data there is before you need to write out something dynamic.
But how could we use this in a servlet container environment? Perhaps we'd wrap the response with a special wrapper to take advantage of this? I'm not sure. I can see the use if one would recreate a server from the ground up. But that would be a rather large task.
http://tomcat.apache.org/tomcat-6.0-doc/aio.html#Asynchronou...
Re: Efficient data transfer through zero copy in Java
#8It's a nice idea, but I wonder about the use cases. How often would a Java webserver serve a file from disk without modifying it along the way? If performance is an issue then you'd serve the really static files with nginx (or a similar alternative), and every other file (jsp templates etc.) would be read in memory before being sent on. (Note that I'm not questioning the technique, I just don't entirely agree on the…
The use-cases are certainly specific, but when you need them, it's great.
Re: Efficient data transfer through zero copy in Java
#9You might want to read this interesting (albeit slightly outdated) post about leveraging `sendfile` in Node.JS by Peter Griess: http://blog.std.in/2010/09/09/using-sendfile-with-nodejs/
Re: Efficient data transfer through zero copy in Java
#10It's a nice idea, but I wonder about the use cases. How often would a Java webserver serve a file from disk without modifying it along the way? If performance is an issue then you'd serve the really static files with nginx (or a similar alternative), and every other file (jsp templates etc.) would be read in memory before being sent on. (Note that I'm not questioning the technique, I just don't entirely agree on the…
I don't think nginx or web servers in general are the last word ever to be spoken in terms of networking software.