[rt-users] Slow Response Time when Email involved

Kevin Squire gentgeen at wikiak.org
Fri Nov 4 16:36:46 EDT 2011


We have been using RT for a long time now (3 or 4 years?) and have had
great success.  Starting sometime in Aug, we found that there was a
LARGE delay when ever updating a ticket in ANY way that would include
sending emails.  Since it was also that start of the school year, we
just assumed 'beginning of year' load issues.   Well the problem is
still there.

Anytime an email has to go out, there is exactly a 12 second delay in
the logs.  This then causes the page load to be greater then 12
seconds. It does not seem to matter what time of day, or if the email
includes attachments, etc.

So I went through the code, pretty much line by line, adding comments
to try and narrow down WHERE the delay is, but now I am stuck.

I have edited both 
  $RT_INSTALL/lib/RT/Action/SendEmail.pm and
  $RT_INSTALL/lib/RT/Interface/Email.pm

SendEmail.pm now has "Ticker #" and Email.pm has "Ticker 1#" 

Here are my logs:
Nov  4 16:09:16 outrigger RT:
<rt-3.8.8-14121-1320437356-1460.35109-6-0 at pavcs.org> KDS Ticker 0 .
(/usr/share/request-tracker3.8/lib/RT/Action/SendEmail.pm:306) Nov  4
16:09:16 outrigger RT:  KDS Ticker 10
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:396) Nov  4
16:09:16 outrigger RT:  KDS Ticker 11
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:402) Nov  4
16:09:16 outrigger RT:  KDS Ticker 11-0
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:445) Nov  4
16:09:16 outrigger RT:  KDS Ticker 11-0-1
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:449) Nov  4
16:09:16 outrigger RT:  KDS Ticker 11-0-2
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:451) Nov  4
16:09:16 outrigger RT:  KDS Ticker 11-0-3
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:455) Nov  4
16:09:28 outrigger RT:  KDS Ticker 11-0-4
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:464) Nov  4
16:09:28 outrigger RT:  KDS Ticker 11-1
(/usr/share/request-tracker3.8/lib/RT/Interface/Email.pm:466) Nov  4
16:09:28 outrigger RT:
<rt-3.8.8-14121-1320437356-1460.35109-6-0 at pavcs.org> sent  To:
gentgeen at wikiak.org
(/usr/share/request-tracker3.8/lib/RT/Action/SendEmail.pm:331) 


The 12 Second delay is between 11-0-3 and 11-0-4

Here is my modified code (Email.pm):


$RT::Logger->info( " KDS Ticker 11-0 " );
        eval {
            # don't ignore CHLD signal to get proper exit code
            local $SIG{'CHLD'} = 'DEFAULT';
$RT::Logger->info( " KDS Ticker 11-0-1 " );
            open my $mail, "|$path $args" or die "couldn't execute
program: $!"; $RT::Logger->info( " KDS Ticker 11-0-2 " );
            # if something wrong with $mail->print we will get PIPE
signal, handle it local $SIG{'PIPE'} = sub { die "program unexpectedly
closed pipe" }; $args{'Entity'}->print($mail);
$RT::Logger->info( " KDS Ticker 11-0-3 " );
            unless ( close $mail ) {
                die "close pipe failed: $!" if $!; # system error
                # sendmail exit statuses mostly errors with data not
software # TODO: status parsing: core dump, exit on signal or EX_*
                my $msg = "$msgid: `$path $args` exitted with code ".
($?>>8); $msg = ", interrupted by signal ". ($?&127) if $?&127;
                $RT::Logger->error( $msg );
            }
$RT::Logger->info( " KDS Ticker 11-0-4 " );
        };
$RT::Logger->info( " KDS Ticker 11-1 " );


Can anyone PLEASE help me narrow this down ... I am just at a lost
now.  I just don't know enough Perl to understand what is going on or
why the large delay right at:

unless ( close $mail ) {
    die "close pipe failed: $!" if $!; # system error
    # sendmail exit statuses mostly errors with data not software
    # TODO: status parsing: core dump, exit on signal or EX_*
    my $msg = "$msgid: `$path $args` exitted with code ". ($?>>8);
    $msg = ", interrupted by signal ". ($?&127) if $?&127;
    $RT::Logger->error( $msg ); 
}


-- 
http://www.wikiak.org

#############################################################
 Associate yourself with men of good quality if you esteem    
 your own reputation; for 'tis better to be alone then in bad 
 company.        - George Washington, Rules of Civility



More information about the rt-users mailing list