[rt-users] mod_fastcgi and mod_fcgid segfault's on certain tickets
Hi, We're running 3.6.1 in production (the same applies to 3.6.3 in test), and Pg version 8.1.8, and FastCGI (mod_fcgi-2.4.2), and Perl 5.8.7. Sometimes we experience tickets that only shows ticket metadata, and not the whole ticket including history. Everything looks 'ok' in the database: rttest=# SELECT a.id,a.type,b.name,a.created from transactions a left join users b on a.creator = b.id where a.objectid = '71963' order by a.created; id | type | name | created -++---+- 284098 | Create | user | 2005-09-27 09:05:15 1391471 | Create | user | 2007-01-10 13:33:44 1391473 | EmailRecord | RT_System | 2007-01-10 13:33:45 1391472 | EmailRecord | RT_System | 2007-01-10 13:33:45 1391487 | Take | user | 2007-01-10 13:36:27 1391489 | Set | user | 2007-01-10 13:36:42 1391603 | EmailRecord | RT_System | 2007-01-10 13:49:25 1391602 | Status | RT_System | 2007-01-10 13:49:25 1391601 | Correspond | user | 2007-01-10 13:49:25 1392035 | Correspond | user | 2007-01-10 15:00:02 1392036 | EmailRecord | RT_System | 2007-01-10 15:00:03 1396227 | Comment | user | 2007-01-11 13:18:34 1396228 | CommentEmailRecord | RT_System | 2007-01-11 13:18:35 1396300 | Correspond | user | 2007-01-11 13:29:39 1396301 | EmailRecord | RT_System | 2007-01-11 13:29:40 1396329 | EmailRecord | RT_System | 2007-01-11 13:37:11 1396328 | Give | user | 2007-01-11 13:37:11 1399462 | Correspond | user | 2007-01-12 09:07:58 1399463 | EmailRecord | RT_System | 2007-01-12 09:07:59 (19 rows) This is a serious problem. A short excerpt from thestrace of the mason handler process (only one running for the test) when a certain problem ticket try to load in a web-browser. When the mason handler process segfault's, a new one is created. -- time(NULL) = 1174556708 time(NULL) = 1174556708 stat64(/site/rt-3.6.3/local/lib/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/rt-3.6.3/local/lib/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/rt-3.6.3/lib/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/rt-3.6.3/lib/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/5.8.7/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/5.8.7/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = 9 ioctl(9, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfffa358) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(9, 0, [0], SEEK_CUR)= 0 read(9, package Text::Quoted;\nour $VERSI..., 4096) = 4096 stat64(/site/rt-3.6.3/local/lib/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/rt-3.6.3/local/lib/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/rt-3.6.3/lib/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/rt-3.6.3/lib/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/5.8.7/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/5.8.7/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT (No such file or directory) open(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = 11 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfff9ea8) = -1 ENOTTY (Inappropriate i octl for device) _llseek(11, 0, [0], SEEK_CUR) = 0 read(11, package Text::Autoformat;\n\nuse s..., 4096) = 4096
mail loop problems: was: Re: [rt-users] RT/Apache suddenly hangs
Hi, We have checked the problem more closesly, and the reason why our RT/Apache server stops is due to different variants of mail loops. We still have problems with other loop variants consuming all resources. Extended mailgate errors leading to loops, spam going into loop. How can we make mailgate a bit more smarter? Does anyone have a mail loop detector in front of their RT installations. We have a high severity now with our RT in production. The load is increasing all the time. Our commonly used cron-script removing some mail loops: #!/site/perl-5.8.7/bin/perl # # Author: Petter Reinholdtsen # Date:2006-01-13 # License: GNU Public License v2 or later # # Look at all tickets, and remove all queue addresses from requestor, # cc and admincc. This reduces the amount of bounce emails sent to # the RT admins. use warnings; use strict; use Getopt::Std; # Location of RT's libs and scripts # Remember to change to correct path on current RT instance use lib (/site/rt3/local/lib, /site/rt3/lib); package RT; use RT::Interface::CLI qw(CleanEnv); use RT::Queue; use RT::Queues; use RT::Tickets; my %opts; Getopt::Std::getopts(dn, \%opts); my $debug = $opts{'d'} || 0; my $dryrun = $opts{'n'} || 0; $| = 1; # Find all queue addresses of enabled queues my @queueaddrs = ( # Aliases for e-mail lists are listed here: '[EMAIL PROTECTED]', ); my $ticketcount = 0; my $starttime = time(); CleanEnv(); # Clean our the environment RT::LoadConfig(); # Load the RT configuration RT::Init(); # Initialise RT my $user = RT::User-new( $RT::SystemUser ); # Merge static list with dynamic list @queueaddrs = (load_queue_addresses(), @queueaddrs); # Loop over all addresses, remove them from the tickets were they are # registered as watchers for my $address( sort @queueaddrs ) { print Removing address '$address' from all tickets\n if $debug; my $tickets = new RT::Tickets($RT::SystemUser); $tickets-FromSQL( Watcher.EmailAddress = '$address' ); while( my $ticket = $tickets-Next ) { $ticketcount++; my $id = $ticket-Id; if ($dryrun) { print Want to remove $address as watcher from ticket #$id\n; } else { $RT::Logger-info(Removed queue address $address as watcher . from ticket #$id); $ticket-DeleteWatcher(Email = $address, Type = $_ ) for( qw(Cc AdminCc Requestor) ); } } } my $duration = time() - $starttime; $RT::Logger-info(Processing of $ticketcount tickets took $duration seconds); sub load_queue_addresses { my $queues = new RT::Queues($RT::SystemUser); $queues-LimitToEnabled(); my @queueaddrs; foreach my $queue (@{$queues-ItemsArrayRef()}) { for my $address ($queue-CorrespondAddress, $queue-CommentAddress) { next unless $user-LoadByEmail( $address ); push @queueaddrs, $address; print Found queue address '$address'\n if $debug; } } return @queueaddrs; } -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] How to RT-admins handle mail loops (bounces)?
SSIA, ;) -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group -- Forwarded message -- Date: Wed, 7 Feb 2007 11:38:33 +0100 (CET) From: Tomas Olaj [EMAIL PROTECTED] Reply-To: Tomas Olaj [EMAIL PROTECTED] To: rt-users@lists.bestpractical.com Subject: mail loop problems: was: Re: [rt-users] RT/Apache suddenly hangs Hi, We have checked the problem more closesly, and the reason why our RT/Apache server stops is due to different variants of mail loops. We still have problems with other loop variants consuming all resources. Extended mailgate errors leading to loops, spam going into loop. How can we make mailgate a bit more smarter? Does anyone have a mail loop detector in front of their RT installations. We have a high severity now with our RT in production. The load is increasing all the time. Our commonly used cron-script removing some mail loops: #!/site/perl-5.8.7/bin/perl # # Author: Petter Reinholdtsen # Date:2006-01-13 # License: GNU Public License v2 or later # # Look at all tickets, and remove all queue addresses from requestor, # cc and admincc. This reduces the amount of bounce emails sent to # the RT admins. use warnings; use strict; use Getopt::Std; # Location of RT's libs and scripts # Remember to change to correct path on current RT instance use lib (/site/rt3/local/lib, /site/rt3/lib); package RT; use RT::Interface::CLI qw(CleanEnv); use RT::Queue; use RT::Queues; use RT::Tickets; my %opts; Getopt::Std::getopts(dn, \%opts); my $debug = $opts{'d'} || 0; my $dryrun = $opts{'n'} || 0; $| = 1; # Find all queue addresses of enabled queues my @queueaddrs = ( # Aliases for e-mail lists are listed here: '[EMAIL PROTECTED]', ); my $ticketcount = 0; my $starttime = time(); CleanEnv(); # Clean our the environment RT::LoadConfig(); # Load the RT configuration RT::Init(); # Initialise RT my $user = RT::User-new( $RT::SystemUser ); # Merge static list with dynamic list @queueaddrs = (load_queue_addresses(), @queueaddrs); # Loop over all addresses, remove them from the tickets were they are # registered as watchers for my $address( sort @queueaddrs ) { print Removing address '$address' from all tickets\n if $debug; my $tickets = new RT::Tickets($RT::SystemUser); $tickets-FromSQL( Watcher.EmailAddress = '$address' ); while( my $ticket = $tickets-Next ) { $ticketcount++; my $id = $ticket-Id; if ($dryrun) { print Want to remove $address as watcher from ticket #$id\n; } else { $RT::Logger-info(Removed queue address $address as watcher . from ticket #$id); $ticket-DeleteWatcher(Email = $address, Type = $_ ) for( qw(Cc AdminCc Requestor) ); } } } my $duration = time() - $starttime; $RT::Logger-info(Processing of $ticketcount tickets took $duration seconds); sub load_queue_addresses { my $queues = new RT::Queues($RT::SystemUser); $queues-LimitToEnabled(); my @queueaddrs; foreach my $queue (@{$queues-ItemsArrayRef()}) { for my $address ($queue-CorrespondAddress, $queue-CommentAddress) { next unless $user-LoadByEmail( $address ); push @queueaddrs, $address; print Found queue address '$address'\n if $debug; } } return @queueaddrs; } -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
Re: [rt-users] RT/Apache suddenly hangs
On the marvelous Fri, 2 Feb 2007, Torsten Brumm wrote kindly to me ... The only thing i found sometimes are messages: Mysql server has gone away, but this is causing not in all cases the problems. Nightly, without RT usage, the connections from FastCGI are timing out and don't connect automatically, but not during the business hours ;-( We are very satisfied with our Postgres installation. :) Our Postgres admins has created an administration framework used to administrate postgreSQL installations at The University of Oslo. This framework is a set of scripts, websides, C code, SQL definitions and standards that define storage,backups,maintenance and administration procedures. We can run this framework in a standalone server or in a SG-cluster from HP. Our RT production instance runs on a service guard two-node postgres cluster. Still faaar away from the sizes of all of our Oracle installations. ;) Thanks, Torsten, good to hear that I am not lonely about this problem. Cheers, Tomas -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] RT/Apache suddenly hangs
System: === Red Hat Enterprise Linux WS release 3 (Taroon Update 8) RT 3.6.1 Apache v2.0.59 Perl 5.8.7 mod_fcgi-2.4.2 Postgres 8.1.4 Approximately 80.000 tickets. Problem: RT/Apache suddenly becomes unavailable/hangs (normaly once a day), and requires Apache restart so RT can work again. We are not sure what causes the problem, and if others have similar problems, we would be gladly to hear about it! List of processes running and load on server: = # ps aux | grep apache root 22066 0.0 0.0 7964 3360 ?SFeb01 0:08 /local/opt/apache2/bin/httpd -k start -DSSL nobody 13898 0.0 0.0 7964 3320 ?S03:59 0:00 /local/opt/apache2/bin/fcgi- -k start -DSSL nobody 21699 0.0 0.0 8216 3832 ?S14:02 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22628 0.0 0.0 8216 3840 ?S14:14 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22648 0.0 0.0 8216 3840 ?S14:15 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22650 0.0 0.0 8216 3820 ?S14:15 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22939 0.0 0.0 8252 3756 ?S14:18 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22941 0.0 0.0 8216 3848 ?S14:18 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22945 0.0 0.0 8216 3804 ?S14:18 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22953 0.0 0.0 8216 3756 ?S14:18 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22955 0.0 0.0 8216 3796 ?S14:18 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22959 0.0 0.0 8216 3812 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22961 0.0 0.0 8216 3800 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22962 0.0 0.0 8216 3788 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22965 0.0 0.0 8236 3804 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22966 0.0 0.0 8216 3788 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 22967 0.0 0.0 8216 3812 ?S14:19 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23217 0.0 0.0 8228 3792 ?S14:21 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23218 0.0 0.0 8228 3744 ?S14:21 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23219 0.0 0.0 8244 3740 ?S14:21 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23224 0.0 0.0 8232 3768 ?S14:21 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23225 0.0 0.0 8216 3752 ?S14:21 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23230 0.0 0.0 8228 3776 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23240 0.0 0.0 8220 3780 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23241 0.0 0.0 8220 3740 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23242 0.0 0.0 8248 3728 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23250 0.0 0.0 8216 3732 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23254 0.0 0.0 8216 3744 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23255 0.0 0.0 8216 3732 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23286 0.0 0.0 8216 3772 ?S14:22 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23290 0.0 0.0 8216 3760 ?S14:23 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23292 0.0 0.0 8248 3724 ?S14:23 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23294 0.0 0.0 8216 3764 ?S14:23 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23299 0.0 0.0 8108 3696 ?S14:23 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23326 0.0 0.0 8108 3672 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23327 0.0 0.0 8108 3708 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23328 0.0 0.0 8216 3696 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23336 0.1 0.0 8248 3744 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23337 0.0 0.0 8108 3692 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23338 0.0 0.0 8108 3680 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23339 0.0 0.0 8108 3692 ?S14:25 0:00 /local/opt/apache2/bin/httpd -k start -DSSL nobody 23352 0.0 0.0
Re: [rt-users] RT 3.6 error and IE6
On the marvelous Wed, 6 Dec 2006, Jesse Vincent wrote kindly to me ... We are entering production phase next week on 3.6.1, but we noticed a problem among Internet Explorer version 6 users (yes, there are some of these at our university), ;), where they are getting an Error on page error-message in browser trying to _open_ a ticket in RT 3.6.1. Do you have any more details of the error message? I don't, I've asked Sverre to give an answer on this, since I actually can't find anything on the terminal server I've tested it on. I am not a IE 6 user. ;) Cheers, Tomas This error message is not reproducable in other browsers (even IE version 7). The typical error message is described on: http://support.microsoft.com/kb/306831 but it doesn't solve the problem, since it's only a work-a-round. Is it something incompatible in the HTML-code? Best regars, Tomas -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] RT 3.6 error and IE6
Hello, We are entering production phase next week on 3.6.1, but we noticed a problem among Internet Explorer version 6 users (yes, there are some of these at our university), ;), where they are getting an Error on page error-message in browser trying to _open_ a ticket in RT 3.6.1. This error message is not reproducable in other browsers (even IE version 7). The typical error message is described on: http://support.microsoft.com/kb/306831 but it doesn't solve the problem, since it's only a work-a-round. Is it something incompatible in the HTML-code? Best regars, Tomas -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] Empty ticket content - RT 3.4.2
Hi, Sometimes we encounter tickets with empty content, e.g. no history displayed by RT/Apache. But, looking into the database it seems like everything is stored of replies, updates, etc... Any tip or hint what we should look into to find out why RT won't display those tickets? I cannot see anything useful in the rt.log file. We still run rt 3.4.2 in production. regards, Tomas -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] RT - Test performance (I) (fwd)
This test performance was done by our Postgres DBA Rafael Martinez. I am translating this so You can agree or disagree if this makes sense or not. Adding indexes can for sure improve performance. -- Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso University of Oslo / USIT (Center for Information Technology Services) System- and Application Management / Applications Management Group -- Forwarded message -- Date: Wed, 29 Mar 2006 11:30:14 +0200 From: Rafael Martinez Guerrero To: [EMAIL PROTECTED] Subject: RT - Test performance (I) Hello I'm finished with the performance test of RT with and without the new indexes. The test has been done on a test server with 2 x Intel(R) Xeon(TM) CPU 2.40GHz and 4GB RAM. We installed a copy of the production environment on this server with RT.3.4.2 and postgresql.7.4.12. The backup file rtprod-12-all-2006-03-27_140101.sql (includes the new indexes) was installed and a 'VACUUM VERBOSE ANALYZE' was run before we started to test. Both postgresql and apache has been stopped and restarted before every test type. We assumend that things that was cached by the OS did not affect the result. We have tested both from command line and web, with and without the new indexes. We have run some of the most common tasks done in RT on every test. We generated a SQL file with all the sql-statement tasks sent to the database, so we could to the test from the command line without web processing of data (this file contained 1920 sql-statements). The test on the command line was run with: -bash-2.05b$ time psql rtprod /postgres/log_test_rt.sql /dev/null The test via web was done using RT via web, the time that was used was the time that is showned down on the RT pages when they were finished processing. The test contucted like this: - Postgres/apache stopped/started - Commandline test with indexes run 3 times after each other. - Postgres/apache stopped/started - Web test with indexes run 3 times after each other. - DROP new indexes - 'VACUUM VERBOSE ANALYZE' run - Postgres/apache stopped/started - Commandline test without indexes run 3 times after each other. - Postgres/apache stopped/started - Web test without indexes run 3 times after each other. - Postgres/apache stopped/started Total sum of times: - without indexes via commandline: 28.166s - with indexes via commandline: 11.473s - without indexes via web: 31.5618s - with indexes via web: 20.2351s Total result: Some numbers from the RT database Num.tickets: 34 096 Num.transactions: 610 556 Num.users: 15 880 Num.queues: 53 Num.groups: 152 548 Tasks: 1- Load main page 2- Login 3- Open queue (www-drift) 4- Open ticket from queue side (#34054) 5- Open 'Home' 6- Open 'Tickets' 7- Load saved search (rafa_resolved) 8- Run Search 9- Open 'Home' 10- Logout * * New indexes: * CREATE INDEX acl2 on acl (principalid,principaltype); CREATE INDEX acl3 on acl (objecttype); CREATE INDEX groups4 on groups (domain); CREATE INDEX attributes3 on attributes (objectid,objecttype); CREATE INDEX groupmembers1 on groupmembers (groupid,memberid); CREATE INDEX groups3 on groups(LOWER(Domain), LOWER(Type)); CREATE INDEX users5 on users (LOWER(Name)); CREATE INDEX groups5 on groups (instance,LOWER(Domain),LOWER(Type)); CREATE INDEX groupmembers2 on groupmembers (memberid); CREATE INDEX tickets6 on tickets (status); CREATE INDEX objectcustomfieldvalues3 on objectcustomfieldvalues(disabled,objectid,objecttype); * Tests: - * Without new indexes / via psql: - real0m28.191s real0m28.133s real0m28.175s Average: 84.499 / 3 = 28.166s -- * With new indexes / via psql: -- real0m11.576s real0m11.419s real0m11.426s Average: 34.421 / 3 = 11.473s * Without new indexes / via web: 1- 0.174703 2- 3.505841 3- 0.944324 4- 4.735964 5- 2.444698 6- 5.307809 7- 5.160225 8- 7.987324 9- 2.648068 10- 0.025291 Total: 32.9338s 1- 0.026303 2- 2.99801 3- 0.824755 4- 4.546013 5- 2.47372 6- 4.927333 7- 4.756017 8- 7.743986 9- 2.647696 10- 0.045746 Total: 30.9892s 1- 0.025872 2- 3.037854 3- 0.710582 4- 4.559498 5- 2.415181 6- 4.685646 7- 4.944309 8- 7.686661 9- 2.660198 10- 0.037399 Total: 30.7625 Average: 94.6855 / 3 = 31.5618s -- * With new