[erlang-questions] performance issue with cowboy
Loïc Hoguin
essen@REDACTED
Sun Nov 9 15:45:37 CET 2014
Sure but everything you do through file:* goes through a single Erlang
process except if you use the 'raw' option.
On 11/09/2014 04:37 PM, Shayan Pooya wrote:
> Hey Danil,
>
> Thanks for the response. Everything is buffered in the kernel-space
> anyway and there is no use for a user-space buffer in this case.
>
> On Sat, Nov 8, 2014 at 5:44 PM, Danil Zagoskin <z@REDACTED
> <mailto:z@REDACTED>> wrote:
>
> Hi!
>
> Did you do any profiling?
>
> Reading the patch I noticed that you have replaced single
> [Mochiweb's Req:stream_body + file:write] with
> iterative [cowboy_req:body + file:write]. So your process now writes
> to file (possibly blocking on it) every MTU (typically 1.5K) bytes
> instead of single write — about 70K syscalls per second on gigabit
> network.
> I'd suggest adding a large buffer (e.g. 1 MB) to not access the file
> too often.
>
>
> On Sun, Nov 9, 2014 at 12:41 AM, Shayan Pooya <shayan@REDACTED
> <mailto:shayan@REDACTED>> wrote:
>
> Hello,
>
> I have ported Disco to use cowboy instead of mochiweb. Mochiweb
> has been quite stable and we did not have any issues with it
> recently. However, cowboy uses the sendfile syscall which avoids
> a lot of overhead when serving static files and I thought that
> could lower the memory footprint of Disco when serving large
> files and free up some cycles. Disco+cowboy is now fully
> functional and all of the integration tests pass (minus some
> minor missing features).
>
> I wanted to get a sense of the performance before making the
> switch and used a couple of different Disco jobs (which pressure
> the web-servers) to do a comparison and the Disco version with
> cowboy consistently takes 10 to 20 percent longer to finish. I
> haven't done much for optimizing the usage of cowboy yet, but
> the micro-benchmarks that I find on the web are contrary to what
> I am seeing here and I wanted to know if anyone can offer some
> guidance for getting better results with cowboy.
>
> I am using cowboy 1.0.1 and the Cowboy patch for Disco is
> available at https://github.com/pooya/disco/commit/5499d696438
> just in case.
>
> Regards.
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
>
> --
> Danil Zagoskin | z@REDACTED <mailto:z@REDACTED>
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
--
Loïc Hoguin
http://ninenines.eu
More information about the erlang-questions
mailing list