I'm just curious. What hardware is powering the HowToForge.com site? The reason I ask is because the forum shows a large number of members/guests (mostly guests) online. Does the site use some of it's own tutorials such as a load balanced Apache cluster? Perhaps a load balanced MySQL cluster? Is there anything customized in the delivery system that isn't discussed in a tutorial?
I could have sworn I was posting this in smalltalk! Sorry about that. (thanks in advance to who ever moves it)
Howtoforge uses a main Server with DualCore AMD processor and a second server as replicated backup server in case the first server fails. We also use two additional servers to serve static content like the images in the howtos. The key point in running a site with many concurrent users is that you need much ram for caching SQL queries and that you use a PHP cache. The first bottleneck you will reach is mostly the harddisk transfer rate and not the power of the processor.
Thanks till! By your description then it would seem that the web server and database server are on the same machine? How much ram do these machines have? I see your using Apache for the static content as well. I was on Lightspeed's site looking at their server offerings recently and they had a chart showing the requests per second being served up by it in comparison to others. It showed Apache2 up along the smaller servers such as Lighttpd. I'm coding a social networking site from scratch so I'm wondering what sort of online numbers I'll be able to support. I'll be utilizing memcache and other optimizations such as xcache to push the hardware as far as possible. Your insight on the hardware used here has been very much appreciated.
Yes. That minimizes slow SQL queries. The main server has 2GB, the MySQL slave 1 GB, and the image servers 512 MB.
Thanks for the info falko! Do the main servers monitor each other in the same manor as the load balancers for the high availability apache cluster how-to? Is rsync being used to keep both servers in sync? (most likely I guess) Are the databases set up in a master/master replication? This is all very interesting, really. An "How we do it here" how-to may be insightful for others especially if you could provide some general statistics on bandwidth being used, typical online user numbers and other such site related data. For my own purposes this data wont be as relevant but I have seen many discussions between people using forum software package such as Vbulletin or Drupal CMS packages that need to scale upward and are not sure what is needed. Hopefully I'm not the only person here interested in this information. (would feel guilty asking so many questions otherwise) lol Cheers, ~Dave
No. Yes, for copying the images over to the image servers. No, master-slave. We're using this tutorial: http://www.howtoforge.com/back_up_mysql_dbs_without_interruptions to make backups of the database.
Hey Till, Is there a "howto" to setup the second server as backup server?? Does the backup server get duplicated from the main server?
There is no complete howto that describes the specific configuration for howtoforge. Generally, the content is synced with rsync: http://www.howtoforge.com/mirroring_with_rsync and the database is a mysql master > slave configuration. http://www.howtoforge.com/mysql_database_replication Yes, the backup server gets all data from the main server with the mechanisms described above.
100Mbit in both directions. The servers are in a datacenter with a fast direct connection to the german internet exchange point DECIX.
Server redundancy Thank you for a wonderful set of posts. I have a question regarding the switch over that happens in the case of an emergency. Is there anything specific to configure on either server or domain registration service to get the mirror in this case to become primary without human interaction? Also, if it is a temporary power failure with server1, will it switch to the mirror and then back to server1 when it comes back online? Will any additions to the database while the mirror was active need to be synchronized to server1? I realize these are a lot of questions. Any clarification will be greatly appreciated. Thanks!
http://www.howtoforge.com/setting-u...ancer-with-haproxy-keepalived-on-debian-lenny http://www.howtoforge.com/setting-u...alancer-with-perlbal-heartbeat-on-debian-etch http://www.howtoforge.com/setting-u...-with-haproxy-wackamole-spread-on-debian-etch http://www.howtoforge.com/high-availability-load-balancer-haproxy-heartbeat-debian-etch