On 04/17/2014 11:38 AM, Max Semenik wrote:
> On Thu, Apr 17, 2014 at 11:21 AM, Gergo Tisza <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     Four of those could be combined, but that would complicate the code a
>     lot even in its current state (and much more if we do some sort of
>     caching, and need to deal with invalidation, which is different for
>     every API query).
>     I am not sure there is much benefit to it; when cached, those queries
>     should be fast anyway, and when not cached, the single query might
>     actually be slower since everything happens sequentially in PHP, while
>     the independent JS requests would be parallel to some extent. (We should
>     probably measure this.)
> 
> 
> Wrong. Every request has an overhead in MediaWiki, Apache and Varnish. See
> the nice spike in [1] for example when mobile was making 2 requests instead
> of 1. You're proposing to make 4.

The current PHP per-request overheads are indeed less than ideal and justify
some application-level batching for small requests. With HHVM, SPDY, node.js
etc things are moving towards lower per-request overheads though. A cached
response over SPDY will typically be faster than anything you can do in PHP,
and will at the same time use less server-side resources.

Also, we need to carefully distinguish client-side latency (perceived
'performance') from efficiency. Performing several requests in parallel will
typically result in a lower latency for a client, but might cause higher
loads on the servers if those requests are not cached and per-request
overheads are high.

Gabriel

_______________________________________________
Multimedia mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/multimedia

Reply via email to