Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

When do we get Server too busy



  • Today for the first time we got "Server too busy" three time in one day.

    When I look at the server at that time I don't see a server under load...

    Enough RAM avaible ( 50% at least)
    Enough CPU time availible ( no load seen)
    Disk usage is high but we still have at least 20Gb free ( packages use 10Gb)

    When does this condition occur and why doesn't it return to normal again after the 'load' has dissappeared?

    Any information for handling this would be appraisiated.

    We are looking to upgrading our server too in the future, but this doesn't seem to be related to the server hardware itself. It's not under heavy load, unless It something not so obvious.

    Product: ProGet
    Version: 4.7.14


  • inedo-engineer

    This is a results of network connections and traffic, and the message is coming from IIS or the ASP.NET hosting components. The server hardware itself is fine, but there's not enough network bandwidth to handle the load.

    Keep in mind that your clients (NuGet, npm) will make hundreds (sometimes thousands) of simultaneous requests to the ProGet server to just a single "package restore". These requests are "expensive" and time-consuming, because often they'll need to check with a remote connector (which opens a new connection), backend database (network connection), validate security, etc. In addition, the workstations are typically more powerful than the server, so they will have more resources to make these requests.

    So it really only takes a handful of users doing simultaneous package restores, and you are basically at a "denial of service" level of traffic. So, in this case, load-balancing is the way to do it.



  • I just wanted to follow up a bit on what I did to solve this:

    After we started to get this problem more often. I investigated my options to move to an other server.

    Looking at the advanced options I now changed my frontend to be hosted by IIS instead of self-hosting. Here I have much more control over the request handling. Since I made the move to hosting under IIS, the performance of the website is back to normal.

    So maybe it could be usefull to document the impact between self hosting and IIS. Also I literally guessed the folder I needed to host, I couldn't find the documentation on how to do the switch.

    The proget windows service now has almost no load, while the worker process in IIS can handle many more requests!

    Have a nice day!



  • Thank you for the followup, that is good information.

    For future reference, the docs for switching from the built-in webserver to IIS can be found here: https://inedo.com/support/kb/1013/hosting-through-iis-instead-of-the-integrated-web-server

    The only thing I notice from the article is the mention of Classic mode for the application pool - at some point each product was updated to support Integrated mode.


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation