Closed (fixed)
Project:
Localization server
Version:
6.x-2.x-dev
Component:
Performance
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
19 Oct 2008 at 18:55 UTC
Updated:
29 Sep 2013 at 16:13 UTC
Jump to comment: Most recent file
Comments
Comment #1
meba commentedI have made a special performance tuning database for everybody, who would like to help optimizing l10n server. This database is filled up with:
How to install
Because it's not easy to direct users how to install l10n server just to tune, I am providing a complete Drupal 5.11 tarball + database. Just untar, import your database and change settings.php to point to a new database. Administrator username is: admin, password is: admin
(Please note that due to my design error, all tables have 2_ prefix. But it's not a problem with Drupal API :)
What to expect
The User Interface for l10n_server is now fairly slow.
Download
Due to database dump size, I am providing download links here:
Enjoy!
Comment #2
meba commentedOK, first to go:
this is used on "Translate" screen:
SELECT COUNT(*) FROM 2_l10n_community_translation WHERE is_suggestion = 0 AND is_active = 1;
and takes around 5 seconds on my laptop.
After adding an index, it drops to 3 seconds.
Attaching an EXPLAIN. Small step, but that counts! (We will have to cache this anyway).
Comment #3
meba commentedThis one would also use an index:
SELECT COUNT(DISTINCT uid_entered) FROM 2_l10n_community_translation GROUP BY uid_entered;
Attaching an output. From 7.52 secs to 2.96 secs.
Comment #4
gábor hojtsyGreat. There are certainly some obvious indexes not added. It is great to see that you are picking this up. Eagerly waiting for more :) This is critical for the successful drupal.org deployment of the module, so your name is praised :)
Comment #5
meba commentedPatch to go: #325721: Performance: introduce caching for Quick stats and Progress status
Comment #6
meba commentedAnd the winner is...
# Time: 081024 22:33:56
# User@Host: root[root] @ localhost []
# Query_time: 531 Lock_time: 0 Rows_sent: 2930 Rows_examined: 125442574
SELECT COUNT(DISTINCT t.sid) translation_count, r.pid, t.is_suggestion FROM 2_l10n_community_release r INNER JOIN 2_l10n_community_file f ON r.rid = f.rid INNER JOIN 2_l10n_community_line l ON f.fid = l.fid INNER JOIN 2_l10n_community_string s ON l.sid = s.sid LEFT JOIN 2_l10n_community_translation t ON s.sid = t.sid WHERE t.is_active = 1 AND t.translation != '' GROUP BY r.pid, t.is_suggestion;
:-)
Comment #7
meba commentedWill 2x speed up Edit & View language screen. Still - too slow :-)
Comment #8
meba commentedPatch to go: #326423: Performance: add indexes to translations table
Comment #9
tobiasbLocalization server D5 is not anymore available, so I close this here.
Comment #10
gábor hojtsyWell, it applies to the 6.x version anyway. Would be great to see these formulated into a patch with an upgrade path.
Comment #11
gábor hojtsyWould still be happy to see these in patch form :)
Comment #12
tobiasbComment #13
SebCorbin commentedThese seem to be added in 6.x-3.x