Hi It was suggested on IRC that reporting our use of devpi here may be useful for others, so that's what I'm doing. We use devpi at my company. Actively using it is around 50 developers, 100~ python projects across 5~ branches. This amounts to 500~ releases in devpi. Many of our builds are automated and a change to a high up dependency can lead to al 100 projects being rebuilt. Each release also has documentation with it. With 2.6 we would quite often see timeouts when trying to look up packages on the devpi server. Especially when many builds were or had been occurring. We upgraded from 2.6 to 3.0.2 - I had hoped the simple index optimisation would remove these timeouts but they didn't seem to have an impact on it. We still got a lot of timeouts. I also noticed that a lot of time is spent indexing documentation. To deal with this we now run 3 --requests-only instances of devpi and 1 regular instance. We have nginx <http://doc.devpi.net/latest/quickstart-server.html> in front - I have set this up to only load balance /+status to regular and all other requests to the 3 --requests only. This has totally solved our timeout issue - the regular instance is mostly doing documentation indexing (which takes a long time when you upload 500 new releases) and the requests only instances deal with the upload/index requests admirably. Hope this might help someone and thanks for the great project. -- Andy Smith http://andrewmichaelsmith.com | @bingleybeep
It was suggested on IRC that reporting our use of devpi here may be useful for others, so that's what I'm doing.
Thanks for the writeup!
To deal with this we now run 3 --requests-only instances of devpi and 1 regular instance. We have nginx <http://doc.devpi.net/latest/quickstart-server.html> in front - I have set this up to only load balance /+status to regular and all other requests to the 3 --requests only.
Are these all on the same server with a shared directory? If so, please watch the logs for any sqlite related locking exceptions. I have a suspicion, that they might occur. They should never lead to corrupted data. It's possible though, that request could fail sometimes.
This has totally solved our timeout issue - the regular instance is mostly doing documentation indexing (which takes a long time when you upload 500 new releases) and the requests only instances deal with the upload/index requests admirably.
Nice to hear that our work on that part works out so well. We don't have a site with such high load to investigate directly. Regards, Florian Schulze
On 8 March 2016 at 13:17, Florian Schulze <florian...@gmx.net> wrote:
It was suggested on IRC that reporting our use of devpi here may be useful
for others, so that's what I'm doing.
Thanks for the writeup!
Glad to at least contribute a bit of information :-).
To deal with this we now run 3 --requests-only instances of devpi and 1
regular instance. We have nginx <http://doc.devpi.net/latest/quickstart-server.html> in front - I have set this up to only load balance /+status to regular and all other requests to the 3 --requests only.
Are these all on the same server with a shared directory? If so, please watch the logs for any sqlite related locking exceptions. I have a suspicion, that they might occur. They should never lead to corrupted data. It's possible though, that request could fail sometimes.
They are all on the same server, sharing the same directory. I've just had a look at the logs and no exceptions so far, but will keep an eye out and let you know if we see any. This has totally solved our timeout issue - the regular instance is mostly
doing documentation indexing (which takes a long time when you upload 500 new releases) and the requests only instances deal with the upload/index requests admirably.
Nice to hear that our work on that part works out so well. We don't have a site with such high load to investigate directly.
Thanks again for project!
Regards, Florian Schulze
-- Andy Smith http://andrewmichaelsmith.com | @bingleybeep
participants (2)
-
Andrew Smith
-
Florian Schulze