SV: [rt-users] Performance and responsetime in RT 3.0.10

Hilde Therese Lauvset Hilde.Lauvset at cc.uit.no
Mon May 3 05:48:14 EDT 2004


Hi,

Thanks a lot for the tips.

I did the changes you suggested and the performance seems to be better.

We run mysql-4 so I increased the key_buffer_size and sort_buffer_size. 

I haven't done any performance analyses before and after so I have no
accurate number to refer to. But there is an increase in performance.

-----
Hilde Therese 



-----Opprinnelig melding-----
Fra: Dan O'Neill [mailto:rt at northpb.com] 
Sendt: 2. mai 2004 17:54
Til: Palle Girgensohn
Kopi: Hilde Therese Lauvset; rt-users at lists.bestpractical.com
Emne: Re: [rt-users] Performance and responsetime in RT 3.0.10

I found solutions to the performance problems we were having with RT,
read 
on if your interested.

First, configuration info:

  2x1GHz processor
  1GB ram
  Redhat Fedora Core 1
  RT 3.0.10
  Postgresql 7.3.4

Symptoms:
  A single httpd process would eat 99% of available CPU
  The Postgres postmaster daemon might use .5%
  Ticket display could take as much as 15 to 20 seconds when moving
  through a list of tickets.

Solutions:
  Increase shared memory sizes and allocate more shared
  memory to postgresql.
  Ensure that maxrequests per child for Apache are set to
  something low.

Results:
  Apache processes run at 66% to 90% for brief periods and
  the postgresql postmaster process will be seen using 3%
  to 20%.  Page loads are less than 3 seconds on most occasions.

Details:
  Shared memory increases at the OS level:
  1.  Edit /etc/sysctl.conf to adjust shared memory sizes
      Here is what is at the bottom of my /etc/sysctl.conf file

      #for postgres, its shared memory tweaks
      #kernel.shmmax=2147483648
      kernel.shmmax=536870912
      kernel.shmmni=4096
      kernel.shmall=2097152

  2.  Execute "/sbin/sysctl -p" to re-read the parameters file.

  Shared memory increases in the postgresql configuration:

  3.  Edit the postgresql.conf file in /var/lib/psql/data
      and change shared_buffers to:

      shared_buffers = 6004

  4.  You may also want to bump up the amount of memory allocated
      to sorting by changing sort_mem to:

      sort_mem = 8096

  5.  Stop Apache

  6.  Stop Postgres

  7.  Restart Postgres
  
  Apache performance tuning:

  8.  Edit /etc/httpd.conf and change MaxRequestsPerChild to:

      MaxRequestsPerChild    100

  9.  Start Apache


These changes resolved most of our performance issues.  Once in a while 
there continue to be episodes of slow response time, but on the whole
its 
a great deal better.

A friend has also implemented these changes on an OpenBSD system with 
similar good results.

The original suggestion came from Arnold Cavazos, Jr. who participates
in 
this list.

Remember, this solution is specific to problem encountered with the 
configuration listed a the top.  This is not to say that such changes 
might improve a mysql or Oracle based installation, but that it isn't 
tested.


What this experience reminded me of is that RT is a database intensive
application.  Database servers almost always require customizations at
the 
operating system level to get the maximum possible performance out of
the 
hardware.

Let the rest of the list know if these suggestions improve your RT 
installations performance.

Regards,

dano







More information about the rt-users mailing list