@tsteur opened this issue on April 16th 2015

I profiled QueuedTracking with Redis (actually inserting the requests from Redis to DB) and made some improvements that as well effect mainly BulkTracking but also normal tracking. In some cases it improved performance by 30-70%.

For example 50% of the total time (180seconds) is spent in https://github.com/piwik/piwik/blob/2.13.0-b2/core/UrlHelper.php#L153 (down to 20% wall time now) . 33.3% of total time is spent in Common::sanitizeInputValue https://github.com/piwik/piwik/blob/2.13.0-b2/core/Common.php#L342 (which is also called by UrlHelper partially), 21% is spent in Common::sanitizeString https://github.com/piwik/piwik/blob/2.13.0-b2/core/Common.php#L314 .

Also Common::getRequestVar is very expensive when performed a million times (eg 20% wall time easily), same for Piwik::postEvent() (> 10% of the time) etc.

Those changes are needed by Thursday/Friday for a client to make inserting tracking requests fast enough.

This issue was closed on April 17th 2015
Powered by GitHub Issue Mirror