[development] Tip for large site scaling: tracker.module
considered harmful
Khalid B
kb at 2bits.com
Tue Nov 29 22:45:00 UTC 2005
Seems like your site should move to a more modern ACID table
database, for example switching from MyISAM to Inno should
help, since it provides row level locking.
In conjunction with this, a few changes to the db layer will be needed
(e.g. locking the whole table should not be done).
On 11/29/05, John Handelaar <john at userfrenzy.com> wrote:
>
> First off, apols for the 'considered harmful' cliché.
>
> Description: http://mbr.org
> Forum posts: 8576, with 63015 comments
>
>
>
> 1. Some tracker module queries, particularly the one which
> shows 'all my posts' to individual users, stop functioning
> on large data sets. In this case, queries ran for >600s
>
> 2. An INSERT/UPDATE on {comments} while those queries are
> trying to complete will be stalled, waiting for a full-table
> lock (MySQL + MyISAM).
>
> 3. While there is an INSERT/UPDATE waiting to execute, *all*
> other SELECTS on the same table are frozen and marked as
> 'Locked' in MySQL's process list until 1) and 2) are complete.
>
>
> Add 100 logged-in users, simmer for about 3 minutes -> MySQL server
> drops dead with 'Too many connections' (whether using mysql_pconnect()
> or not).
>
> Workaround: under *no* circumstances enable tracker.module on a
> heavily-used site which gives posting rights to visitors.
>
> There is, of course, a fix out there waiting to be written in either
> the query or the schema, but while I'm OK with adding indexes to
> tables, multi-table indexing is outside my comfort zone.
>
> [cross-posted to tracker: http://drupal.org/node/39351 ]
>
>
> The *good* news: disabling the tracker has reverted server load
> back down to 0.1 - 0.3 (from >30.00) and MBR is once again serving
> about 60,000 pages per day without complaint.
>
>
> Serious request for Infrastructure people: this sort of thing doesn't
> affect many of us, but it kills us when bad things happen. I'm not
> the first person to ask --- can we please have a "Scaling / Large site
> issues" forum on Drupal.org to collect war stories?
>
>
>
> jh
>
>
More information about the development
mailing list