[Distutils] PyPI Rate Limiting
Robert Collins
robertc at robertcollins.net
Sun Feb 9 10:13:42 CET 2014
On 9 February 2014 19:28, Noah Kantrowitz <noah at coderanger.net> wrote:
>
> On Feb 8, 2014, at 6:25 PM, Robert Collins <robertc at robertcollins.net> wrote:
>
>> 5/s sounds really low - if the RPC's take less than 200ms to answer
>> (and I sure hope they do), a single threaded mirroring client (with
>> low latency to PyPI's servers // pipelined requests) can easily it.
>> Most folk I know writing API servers aim for response times in the
>> single to low 10's of ms digits... What is the 95% percentile for PyPI
>> to answer these problematic APIs ?
>>
>
> If you are making lots of sequential requests, you should be putting a sleep in there. "as fast as possible" isn't a design goal, it is good service for all clients.
As fast as possible (on the server side) and good service for all
clients are very tightly correlated (and some would say there is a
causative relationship in fact).
On the client side, I totally support limiting concurrency, but I've
yet to see a convincing explanation for rate limiting already
serialised requests that doesn't boil down to 'assume the server is
badly written'. Note - I'm not assuming - or implying - that about
PyPI.
-Rob
--
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud
More information about the Distutils-SIG
mailing list