[Phpmyadmin-devel] Profiling for performance analysis

Madhura Jayaratne madhura.cj at gmail.com
Thu Jun 11 04:49:19 CEST 2015


On Mon, May 18, 2015 at 6:10 PM, Madhura Jayaratne <madhura.cj at gmail.com>
wrote:

> Hi devs,
>
> As discussed during the last team meeting, I did some profiling to
> evaluate the performance of 4.4 series against 3.5 series. I used xdebug
> for profiling and for each of the pages evaluated, I averaged among three
> reading to overcome any errors.
>
> The values are in milliseconds and contains profiling overhead as well.
> However, this should not be a problem to compare between two versions.
>
>    Page     3.5 branch       4.4 branch              4.4 / 3.5  Table
> browse 5230.67 24548.67 4.69  Table structure 2974.67 8060.67 2.71  Table
> SQL 760.33 1770.33 2.33  Table operations 2564.33 7626.33 2.97  Row edit
> 2012 10980.67 5.46  Row insert 2387.67 11553 4.84  Database structure
> 6280.33 5076.33 0.81  Database SQL 1511.67 1570 1.04  Database operations
> 3115.33 2750.67 0.88  Server databases 2108 3068.67 1.46  Navigation
> refresh 626 4092.33 6.54
> While I got mixed results where for certain pages 3.5 was faster and for
> others 4.4 was faster, for most of the pages 3.5 was much faster.
>
> I am attaching the results in csv format as well as output files from
> profiling. With KCacheGrind or WinCacheGrind you should be able to further
> analyze the profiling results.
>
> --
> Thanks and Regards,
>
> Madhura Jayaratne
>
>
During the last week, I attended to some performance improvements, starting
with table browse and table insert/edit operations since they showed more
deterioration compared to 3.5 version.

In table browse, I was able to eliminate 25 calls to
PMA_Util::getUniqueCondition() with [1] and [2], saving about 3 seconds. In
table insert/edit, I was able to eliminate the call
to PMA_Table::analyzeStructure() with [3] saving about 4 seconds.

However, I also noted that newly added 'Page related settings' feature
adding about 3 seconds to each of these pages, somewhat offsetting these
gains. Anyway, I find this feature quite useful and I feel that these
additions are acceptable.

P.S. All the times are with profiling overhead.

[1]
https://github.com/phpmyadmin/phpmyadmin/commit/80ad726a8471441abc5eeb573b69f2a150dd1a07
[2]
https://github.com/phpmyadmin/phpmyadmin/commit/739b142580d7fa6bf8e5ca70f45baced6e22aeeb
[3]
https://github.com/phpmyadmin/phpmyadmin/commit/758ec7b5ae7f9669f30c4de2f658a7c751af92f6

-- 
Thanks and Regards,

Madhura Jayaratne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20150611/a7e6bcfc/attachment.html>


More information about the Developers mailing list