You could also try a rails metal request. That may give some insight as to which side it's on.
--Dan On Thu, Mar 22, 2012 at 11:59 AM, Kevin Baker <[email protected]> wrote: > Thanks Dan, > > I have done a static asset. I'm doing about 1200 req/sec on that. I am in > the process of doing a non-database request against an action that just does > some simple math. To establish a baseline that way. > > > On Thu, Mar 22, 2012 at 11:40 AM, Dan Simpson <[email protected]> wrote: >> >> This might not be of much help, but I have been though the process as >> well. >> >> Where are you running the ab test from? SSL, Latency, etc? Run it >> from a server in the same region. Check keep alive settings and make >> sure you set your ulimit -n high. >> Have you tested to see if a static asset has greater performance? >> Drop something in public and ab against that. It should have a much >> higher throughput since rails should not be involved. >> Try to eliminate variables until you know where the problem is. >> >> --Dan >> >> On Thu, Mar 22, 2012 at 11:29 AM, Kevin Baker <[email protected]> wrote: >> > I am working to optimize the speed of a Rails application we have in >> > production. >> > >> > It is built on an Apache,Passenger,Rails 2.35, Ubuntu on an m1.large EC2 >> > instance (7.5GB RAM, 4 Compute Units) We will be switching to nginx in >> > the >> > near term, but have some dependancies on Apache right now. >> > >> > I'm running load tests against it with ab and httperf. >> > >> > We are seeing consistently 45 request/sec varying between 30 - 200 >> > concurrent users for a simple API request to get a single record from a >> > database table with 100k records indexed. It seems very slow to me. >> > >> > We are focusing on both application code optimization as well as server >> > configuration optimization. >> > >> > I am currently focused on server configuration optimization. Here's what >> > I've done so far: >> > >> > Passenger adjusted PassengerMaxPoolSize to (90% Total Memory) / >> > (Memory per >> > passenger process, 230mb) >> > Apache adjusted MaxClients to 256 max. >> > I did both independently and together >> > >> > I saw no impact to the req/sec. >> > >> > Another note is that this seems to scale linearly by adding servers. So >> > doesn't seem to be a database issue. 2 servers 90 req/sec, 3 servers was >> > around 120 request/sec... etc >> > >> > Any tips? It just seems like we should be getting better performance by >> > adding more processes? >> > >> > >> > -- >> > SD Ruby mailing list >> > [email protected] >> > http://groups.google.com/group/sdruby >> >> -- >> SD Ruby mailing list >> [email protected] >> http://groups.google.com/group/sdruby > > > -- > SD Ruby mailing list > [email protected] > http://groups.google.com/group/sdruby -- SD Ruby mailing list [email protected] http://groups.google.com/group/sdruby
