[rt-users] RT slow inserts and updates

Matt van der Westhuizen mvdwesthuizen at alldata.nl
Fri Feb 12 05:26:28 EST 2010


Hi all,

 

Having some (what seems like DB) issues when attaching files, or
replying to a certain transaction, and the associated queries, it takes
about a minute and a half to create a ticket with a 120 KB attachment,
and when replying to a transaction, fetching and inserting the
correspondence into the wysiwyg editor can take up to a minute. I have
turned on slow query logging and also optimized as much as possible,
using settings from our heavier DB servers as well as using
MySQLTuner... But still, the problem persists, details:

 

RT 3.8.6 on FreeBSD 7.1 VM (Had the same issue on a physical machine)
running on a hefty 64 bit host(Vista, VMware), 2G RAM, MySQL 5.1.3,
Apache2, mod_perl2. 

 

Relevant httpd.conf :

 

<VirtualHost rt.office.local:80>

   ServerName rt.office.local

   ServerAdmin #####@#####

   DocumentRoot /usr/local/rt3/share/html/

   AddDefaultCharset UTF-8

   #PerlModule Apache::DBI

   PerlModule Apache2::RequestRec

   PerlModule HTML::Mason::ApacheHandler

   PerlRequire /usr/local/rt3/bin/webmux.pl

   Alias /NoAuth/images/ /usr/local/rt3/share/html/NoAuth/images/

 

<Directory />

    SetHandler perl-script

    PerlHandler RT::Mason

      AuthName RADIUS

      AuthType Basic

      AuthXRadiusAddServer "#####" "#####"

      AuthXRadiusTimeout 5

      AuthXRadiusRetries 4

      Require valid-user

      AuthBasicProvider xradius

   </Directory>

</VirtualHost>

 

<LocationMatch "/NoAuth">

    Satisfy Any

    Require valid-user

</LocationMatch>

 

 

my.cnf:

 

[mysqld]

max_allowed_packet=10MB

query_cache_size=32M

tmp_table_size=64M

max_heap_table_size=64M

thread_cache_size=4

innodb_buffer_pool_size=300M

log-slow-queries=/var/log/mysql_slow_queries.log

 

RT_SiteConfig:

 

Set($rtname, 'Alldata');

Set($Organization, "########");

Set($Webpath, "");

Set($WebBaseURL, "http://##########");

Set($SendmailPath , "/usr/sbin/sendmail");

Set($SendmailArguments , "-oi -t");

Set($Timezone , 'Europe/Amsterdam');

Set($CorrespondAddress, q{#####@#####} );

Set($CommentAddress, q{#####@#####});

Set($OwnerEmail, q{#####@#####});

Set($WebExternalAuth , 1);

Set($WebFallbackToInternalAuth , 1);

Set($WebExternalAuthContinuous, 0);

Set($WebExternalAuto , 1);

Set($AutoCreateFromExternalUserInfo, 1);

Set($MaxAttachmentSize , 10000000);

#Set($MaxInlineBody, 0);

Set($DontSearchFileAttachments, 1); (Doesn't look like this works...)

Set($SuppressInlineTextFiles, 1);

1;

 

A few lines from slow query log:

 

SELECT DISTINCT main.* FROM Tickets main JOIN Transactions
Transactions_1  ON ( Transactions_1.ObjectId = main.id ) JOIN
Attachments Attachments_2  ON ( Attachments_2.TransactionId =
Transactions_1.id )  WHERE (Transactions_1.ObjectType = 'RT::Ticket')
AND (main.Status != 'deleted') AND ( ( Attachments_2.Filename IS NULL
AND Attachments_2.Content LIKE '%iPhone%' )  AND  (
Attachments_2.Filename IS NULL AND Attachments_2.Content LIKE '%IPHONE%'
)  AND  ( Attachments_2.Filename IS NULL AND Attachments_2.Content LIKE
'%iphone%' )  AND  ( main.Status = 'open' OR main.Status = 'new' OR
main.Status = 'stalled' OR main.Status = 'resolved' ) ) AND (main.Type =
'ticket') AND (main.EffectiveId = main.id)  ORDER BY main.id ASC;

# Time: 100211 19:56:32

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 38.581619  Lock_time: 0.000478 Rows_sent: 0
Rows_examined: 55108

SET timestamp=1265914592;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68277') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:39:57

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 39.655915  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265927997;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:40:21

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 23.391029  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928021;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:40:33

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.936418  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928033;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:40:45

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.771741  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928045;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:40:57

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.982423  Lock_time: 0.000220 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928057;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:41:09

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 12.005457  Lock_time: 0.000007 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928069;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:41:21

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 12.057792  Lock_time: 0.000005 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928081;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:41:33

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.991430  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928093;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100211 23:41:45

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 12.007473  Lock_time: 0.000007 Rows_sent: 0
Rows_examined: 55113

SET timestamp=1265928105;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68280') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:00

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 45.911922  Lock_time: 0.000005 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944560;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:12

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.784373  Lock_time: 0.000005 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944572;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:23

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.882671  Lock_time: 0.000165 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944583;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:34

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.798826  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944594;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:45

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.834359  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944605;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:16:56

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.038873  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944616;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:17:07

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.916713  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944627;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:17:18

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.637657  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944638;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  4:17:28

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 10.628150  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55118

SET timestamp=1265944648;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68287') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:30:50

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 36.636542  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949050;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:31:08

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 17.914245  Lock_time: 0.000007 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949068;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:31:19

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.108912  Lock_time: 0.000007 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949079;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:31:30

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.019829  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949090;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:31:41

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.070368  Lock_time: 0.000166 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949101;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:31:53

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.139404  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949113;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:32:04

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.035979  Lock_time: 0.000007 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949124;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:32:15

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.301442  Lock_time: 0.000157 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949135;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  5:32:26

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 11.136719  Lock_time: 0.000150 Rows_sent: 1
Rows_examined: 55123

SET timestamp=1265949146;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68292') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  9:52:37

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 58.189971  Lock_time: 0.000106 Rows_sent: 1
Rows_examined: 55129

SET timestamp=1265964757;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68300') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 51.502213  Lock_time: 0.000869 Rows_sent: 1
Rows_examined: 55129

SET timestamp=1265964757;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68300') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  9:52:50

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 12.880213  Lock_time: 0.000111 Rows_sent: 1
Rows_examined: 55129

SET timestamp=1265964770;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68300') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212  9:53:03

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 12.213462  Lock_time: 0.000006 Rows_sent: 1
Rows_examined: 55129

SET timestamp=1265964783;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68300') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212 10:00:48

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 17.086619  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55134

SET timestamp=1265965248;

SELECT main.* FROM Attachments main  WHERE (main.Content IS NOT NULL AND
main.Content != '') AND (main.Parent = '68309') AND (main.ContentType =
'text/plain')  ORDER BY main.id ASC;

# Time: 100212 10:05:06

# User at Host: rt_user[rt_user] @ localhost []

# Query_time: 13.199653  Lock_time: 0.000006 Rows_sent: 0
Rows_examined: 55134

SET timestamp=1265965506;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20100212/c8ea6c9d/attachment.htm>


More information about the rt-users mailing list