Hi all, I''ve been the sysadmin for a Rails site hosted on four dedicated servers. One front-end which serves static files and dispatches dynamic requests to two application servers. And one DB server. This split architecture has led to some problems over time, such as latency, NFS errors and definitely adds complexity. I do not even benefit from redundancy, beside the app servers. I''m pretty sure the site would run OK on a single powerful server instead of these four entry-level servers. I also want to keep it scalable, this site should go up in frequency very soon. I''m currently studying two possibilities: adding more entry-level servers or replacing them all by one or two powerful servers. In brief, do you favor powerful servers or lots of servers ? What do you think ? Thanks for your replies and experiences, pjay -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
My understanding is as follows: Typically, we horizontally scale the web server (more low-end machines) and vertically scale the apps and database servers (high end machines). Then redundancy (high availability, disaster recovery) will dictate how many app servers and database servers will be required in your architecture. This is based on my experience with a fairly high volume web site running on J2EE. Rajesh On Mar 11, 7:15 pm, pjay <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Hi all, > > I''ve been the sysadmin for a Rails site hosted on four dedicated > servers. One front-end which serves static files and dispatches dynamic > requests to two application servers. And one DB server. > > This split architecture has led to some problems over time, such as > latency, NFS errors and definitely adds complexity. I do not even > benefit from redundancy, beside the app servers. > > I''m pretty sure the site would run OK on a single powerful server > instead of these four entry-level servers. I also want to keep it > scalable, this site should go up in frequency very soon. I''m currently > studying two possibilities: adding more entry-level servers or replacing > them all by one or two powerful servers. > > In brief, do you favor powerful servers or lots of servers ? What do you > think ? > > Thanks for your replies and experiences, > > pjay > > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Since this is somewhat of an opinion-based topic, I''ll speak from my own experience. Downtime where I am at is greatly frowned upon - because of this I also favor using redundant, smaller servers. In addition to reducing downtime, this will help you if you need added capacity - you''ve already forced yourself to think about scaling and as a result can just tack on added machines as needed. The two most difficult areas to scale (in my opinion) are the database and file storage. If you can solve these two issues then I see no reason why smaller servers wouldn''t suffice and in fact be beneficial. I have had success running a centralized NFS store over a backend gigabit network on a RAID5 server w/ high speed SCSI disks. The database replication I have been toying with has been MySQL''s clustering. Wes --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
For the database, are you doing synchronous or asynchronous replication? Also, what kind of load to your databases see? On 3/13/07, Wes <wes.ratcliff-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Since this is somewhat of an opinion-based topic, I''ll speak from my > own experience. Downtime where I am at is greatly frowned upon - > because of this I also favor using redundant, smaller servers. > > In addition to reducing downtime, this will help you if you need added > capacity - you''ve already forced yourself to think about scaling and > as a result can just tack on added machines as needed. > > The two most difficult areas to scale (in my opinion) are the database > and file storage. If you can solve these two issues then I see no > reason why smaller servers wouldn''t suffice and in fact be beneficial. > > I have had success running a centralized NFS store over a backend > gigabit network on a RAID5 server w/ high speed SCSI disks. The > database replication I have been toying with has been MySQL''s > clustering. > > Wes > > > > >-- EPA Rating: 3000 Lines of Code / Gallon (of coffee) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Doing synchronous replication via the clustering in MySQL 5.1. I do not see high loads at all - however our applications are very low on inserts. (no less than 99% of SQL commands are SELECTS). The database servers talk on their own gigabit VLAN and have a load balancer in front of them that gives a unified IP for the applications to hit. Wes On Mar 13, 6:28 pm, "Carl Lerche" <carl.ler...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> For the database, are you doing synchronous or asynchronous > replication? Also, what kind of load to your databases see? > > On 3/13/07, Wes <wes.ratcl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > Since this is somewhat of an opinion-based topic, I''ll speak from my > > own experience. Downtime where I am at is greatly frowned upon - > > because of this I also favor using redundant, smaller servers. > > > In addition to reducing downtime, this will help you if you need added > > capacity - you''ve already forced yourself to think about scaling and > > as a result can just tack on added machines as needed. > > > The two most difficult areas to scale (in my opinion) are the database > > and file storage. If you can solve these two issues then I see no > > reason why smaller servers wouldn''t suffice and in fact be beneficial. > > > I have had success running a centralized NFS store over a backend > > gigabit network on a RAID5 server w/ high speed SCSI disks. The > > database replication I have been toying with has been MySQL''s > > clustering. > > > Wes > > -- > EPA Rating: 3000 Lines of Code / Gallon (of coffee)--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Here''s a great PDF on MySQL HA solutions... http://imysql.cn/files/download/MySQL_WhitePaper_MySQL_HA_Solutions.pdf On Mar 14, 1:51 pm, "Wes" <wes.ratcl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Doing synchronous replication via the clustering in MySQL 5.1. > > I do not see high loads at all - however our applications are very low > on inserts. (no less than 99% of SQL commands are SELECTS). > > The database servers talk on their own gigabit VLAN and have a load > balancer in front of them that gives a unified IP for the applications > to hit. > > Wes > > On Mar 13, 6:28 pm, "Carl Lerche" <carl.ler...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > For the database, are you doing synchronous or asynchronous > > replication? Also, what kind of load to your databases see? > > > On 3/13/07, Wes <wes.ratcl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > Since this is somewhat of an opinion-based topic, I''ll speak from my > > > own experience. Downtime where I am at is greatly frowned upon - > > > because of this I also favor using redundant, smaller servers. > > > > In addition to reducing downtime, this will help you if you need added > > > capacity - you''ve already forced yourself to think about scaling and > > > as a result can just tack on added machines as needed. > > > > The two most difficult areas to scale (in my opinion) are the database > > > and file storage. If you can solve these two issues then I see no > > > reason why smaller servers wouldn''t suffice and in fact be beneficial. > > > > I have had success running a centralized NFS store over a backend > > > gigabit network on a RAID5 server w/ high speed SCSI disks. The > > > database replication I have been toying with has been MySQL''s > > > clustering. > > > > Wes > > > -- > > EPA Rating: 3000 Lines of Code / Gallon (of coffee)--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---