[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