Nos megvan a válasz a lassú postolásra a Drupal 4.7-en. Bekapcsoltam a MySQL-ben log-slow-queries-t és azt látom, hogy postázásnál lefut egy ilyen query:
# User@Host: root[root] @ localhost []
# Query_time: 5 Lock_time: 0 Rows_sent: 15 Rows_examined: 412106
SELECT c.nid, c.subject, c.cid, c.timestamp FROM comments c INNER JOIN node n ON n.nid = c.nid WHERE n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC LIMIT 0, 15;
SELECT c.nid, c.subject, c.cid, c.timestamp FROM comments c INNER JOIN node n ON n.nid = c.nid WHERE n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC LIMIT 0, 15;
Ez frissíti a "Friss hozzászólások" blokkot. Ha kikapcsolom a nevezett blokkot, akkor a postázás olyan, mint a ~villám. FreeBSD-n is, de Linux-on még mindig gyorsabb. OK. Vajon miért?
Hogy miért van ez (első futtatás mindegyik gépen, ugyanaz az adatbázis), valaki megmagyarázhatná. A FreeBSD-ken optimalizálva a MySQL, a lehető legrészletesebben konfigurálva. A Linux-on binárisból (apt-get install mysql-server, azt jóvan') feltéve, alig konfigurálva (éppen csak elinduljon):
HUP:
FreeBSD 6.1-PRERELEASE, Intel dual P3, 1 GB RAM (kb. 0.4-es load mellett)
mysql> SELECT c.nid, c.subject, c.cid, c.timestamp FROM comments c INNER JOIN node n ON n.nid = c.nid WHERE n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC LIMIT 0, 15;
[...]
+-------+------------------------------+--------+------------+
15 rows in set (24.55 sec)
Mirror:
FreeBSD 6.1-RELEASE, AMD Opteron, 1 GB RAM szerver (no X, majdnem 0 load mellett):
mysql> SELECT c.nid, c.subject, c.cid, c.timestamp FROM comments c INNER JOIN node n ON n.nid = c.nid WHERE n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC LIMIT 0, 15;
[...]
+-------+-----------------------------+--------+------------+
15 rows in set (6.41 sec)
Alderaan (én notebookom):
Ubuntu Linux, Intel P4, 768 MB RAM (notebook, full X, kb. 1.00-es load mellett)
mysql> SELECT c.nid, c.subject, c.cid, c.timestamp FROM comments c INNER JOIN node n ON n.nid = c.nid WHERE n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC LIMIT 0, 15;
[...]
+-------+------------------------------+--------+------------+
15 rows in set (0.09 sec)
Azt tudtam már eddig is, hogy FreeBSD nem egy MySQL bajnok, de ha ez így van, akkor - és ez nem vicc - az új gépre nem FreeBSD, hanem Linux fog kerülni.
--
trey @ gépház