Btw, when doing such performance measures, it would be great to get some memory statistics from PHP as well. From my past as an SMW developer, I remember seeing incredible memory footprints of apparently simple PHP objects. OoM would be one of the most common causes for blank pages, much more common than timeouts, and even a single object in PHP can take up huge amounts of memory.
Markus
On 07.10.2014 23:44, Jeroen De Dauw wrote:
Hey,
Thank you for making the measurements. Can you estimate the time for item Q183 specifically? Since it is 1000 entities weighing 19 MB, this means that on average the entities were 19 KB. Germany on the other hand is much larger, and it makes we wonder how it scales to that size.
Good point - I did not realize the outliers are that big. Q183 takes ~415ms, which is rather long. ~25ms json_decode, ~390ms array -> objects. In itself that is not a problem, though perhaps something to look at after we fixed the critical performance issues. This also does illustrate that one should be careful to not fully deserilaize entities when that is not needed, and that fully deserializing a collection of entities in one request is something to avoid.
Do we have code that falls in the later category? Even if we do only partial deserialization, this is still going to be to costly for an action done dozens of times during a request. We should also not simply assume this is the case now and stop looking for what the critical issues are.
Cheers
-- Jeroen De Dauw - http://www.bn2vs.com Software craftsmanship advocate Evil software architect at Wikimedia Germany ~=[,,_,,]:3
Wikidata-tech mailing list Wikidata-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-tech