heroku / dotnet-buildpack

ASP.NET 5 Buildpack
MIT License
92 stars 111 forks source link

Runs really slowly on free dyno #5

Open darbio opened 8 years ago

darbio commented 8 years ago

Hi guys,

This might just be due to me using a free dyno to test, but the MVC music store example runs really slowly. The page is quick to load, and the response is received but it appears that the response is left open for anywhere up to 60 seconds.

You can reproduce this by clicking around the example site: https://sheltered-temple-5471.herokuapp.com

The pages load, but the response stream stays open.

It runs fine on OSX using dnx.

Has anyone run this pack with non-free? What is the response like?

Thanks,

darbio

jincod commented 8 years ago

Hi!

This is known issue with mono https://github.com/aspnet/Home/issues/1093

darbio commented 8 years ago

Thanks - I'll have a look.

TristanRhodes commented 8 years ago

I ran into a similar issue. It timed out after 55 seconds on the dyno with Idle Connection error and then returned succesfully to the client.

I tracked it down to a missing Content-Length header which looks like a bug in Mono (Thanks to Heroku support). This apparently means the router keeps the connection open until the idle limit is hit.

Build pack: https://github.com/jincod/dotnet-buildpack Mono builder: https://github.com/friism/mono-builder/releases/download/v4.0.1.44/mono-4.0.1.44.tar.gz (There's a more recent version now: https://github.com/friism/mono-builder/releases/download/v4.2.0.207/mono-4.2.0.207.tar.gz) Build package: dnx-mono.1.0.0-rc1-update1

On a side note - It looks like they are trying to remove mono and use .Net Core, but from the comments it doesn't look good :)

nickserv commented 8 years ago

It seems like 4.0.5.1 is one of the only Mono versions that doesn't have this issue (according to aspnet/Home#1093). What is the easiest way to use this buildpack with that specific version of mono? friism/mono-builder does not have this version of Mono tagged, so it isn't as simple as setting the MONO_VERSION variable (this will 404 on downloading the binary).