Re: [gitorious] Hardware Recommendations for Low traffic Gitorious

2010-12-23 Thread Michael Jackson


On Nov 16, 2010, at 2:09 AM, Marius Mårnes Mathiesen wrote:

On Mon, Nov 15, 2010 at 3:42 PM, Michael Jackson imikejack...@gmail.com 
 wrote:
I have a public facing Gitorious installation for use by our teams.  
It is currently running on some pretty modest hardware (single core  
3.0 GHZ processor). For each page load there seems to be a large  
delay (about 10 seconds) on the first few page views in the morning  
then things seem to speed up a bit after that. Even pushing there is  
a noticeable delay from when the SSH connection occurs to when the  
pushing begins. I am looking at a hardware sever upgrade and would  
like to know what the best bang for the buck would be? More CPU  
Cores? More clock speed? RAID Disks? Memory does not seem to be an  
issue. I have 3GB in the server and always have 1.5 of that free. My  
own thinking is that having more cores (Quad Core I5) would be  
better so that all the processes can better share the CPU resources?


Mike,
It sounds like Passenger puts your Gitorious processes to sleep  
after some inactivity, and that the wait time is due to Passenger  
starting up new Rails processes when you connect. This would happen  
whenever you push too, since the SSH service (or rather the hooks  
called when pushing) connect to the local server when clients  
connect. Faster disks should also give a good performance gain.


top should give you some hard numbers to indicate the load on your  
CPU, but in general I think IO is what slows down a busy Gitorious  
server (Git is really heavy on IO). If the response time is bad also  
after the initial warm-up time, scaling the server could be  
something to look into.


The best place to start is probably to configure Passenger to keep  
around a few Rails processes, the documentation at http://modrails.com/documentation.html 
 should explain how to set this up.


Cheers,
- Marius



Just to (finally) follow up on this I was able get back to this and  
try a few things. In order to have Passenger have a few instances  
always available you need to be running at least version 3.0 of  
Passenger. I was not. So after installing Passenger 3.0.2 I had  
passenger has 2 instances available and to auto start at least 1 when  
apache starts. The response time has gone way down is like I am on a  
new server. The current hardware only supports a RAID 5 configuration  
which defeats the thought of adding a RAID-0 Stripe to run the system  
off of. However since this is a fairly small server I have toyed with  
the idea of installing a small SSD into the system instead. I recently  
put one into my main workstation and the difference on I/O intensive  
programs (like compiling software) is amazing. Since Gitorious seems  
to be I/O dependent (mostly) I am thinking this may solve the  
remaining latency issues.


   Thanks again for all the great work.
--
Mike Jackson
Principal Software Engineer
BlueQuartz Software - www.bluequartz.net

--
To post to this group, send email to gitorious@googlegroups.com
To unsubscribe from this group, send email to
gitorious+unsubscr...@googlegroups.com


Re: [gitorious] Hardware Recommendations for Low traffic Gitorious

2010-11-15 Thread Marius Mårnes Mathiesen
On Mon, Nov 15, 2010 at 3:42 PM, Michael Jackson imikejack...@gmail.comwrote:

 I have a public facing Gitorious installation for use by our teams. It is
 currently running on some pretty modest hardware (single core 3.0 GHZ
 processor). For each page load there seems to be a large delay (about 10
 seconds) on the first few page views in the morning then things seem to
 speed up a bit after that. Even pushing there is a noticeable delay from
 when the SSH connection occurs to when the pushing begins. I am looking at a
 hardware sever upgrade and would like to know what the best bang for the
 buck would be? More CPU Cores? More clock speed? RAID Disks? Memory does not
 seem to be an issue. I have 3GB in the server and always have 1.5 of that
 free. My own thinking is that having more cores (Quad Core I5) would be
 better so that all the processes can better share the CPU resources?


Mike,
It sounds like Passenger puts your Gitorious processes to sleep after some
inactivity, and that the wait time is due to Passenger starting up new Rails
processes when you connect. This would happen whenever you push too, since
the SSH service (or rather the hooks called when pushing) connect to the
local server when clients connect. Faster disks should also give a good
performance gain.

top should give you some hard numbers to indicate the load on your CPU, but
in general I think IO is what slows down a busy Gitorious server (Git is
really heavy on IO). If the response time is bad also after the initial
warm-up time, scaling the server could be something to look into.

The best place to start is probably to configure Passenger to keep around a
few Rails processes, the documentation at
http://modrails.com/documentation.html should explain how to set this up.

Cheers,
- Marius

-- 
To post to this group, send email to gitorious@googlegroups.com
To unsubscribe from this group, send email to
gitorious+unsubscr...@googlegroups.com