Forum OpenACS Q&A: Re: Server recommendation for 20,000 users in dotLRN?

Collapse
Posted by Mohan Pakkurti on
Hi Bruno,

The group already has a 4 CPU HP server that is installed as an Oracle server. So, the idea is to use that as a db server and use a separate machine for the web server.

I am looking for recommendation in terms of hardware characteristics, # cpus, memory etc! The preferred operating system is Linux and I think the university is looking into buying a Dell server. So if there is a specific model that is recommended that is also great.

/Mohan

Collapse
Posted by Bruno Mattarollo on
Cool... I understand better now :)

What we decided to do here, at Greenpeace, is to use several uniprocessor machines for the webservers. Each machine has 512MB of RAM -even though now it seems cheap enough to have 1GB of RAM- and SCSI 10Krpm HDD's.These machines are HP and have been running as webservers for more than 260 days without need to reboot (redhat 7.3). Pentium III 800MHz. We are currently serving peaks of 16 hits/sec per machine during one hour and the load is quite noticeable, the CPU is really busy :)

Another way could be to go the SMP way, have a dual (or quad) processor machine to handle AOLServer, then you don't have the problems when trying to syncronize the cache among the different machines.

This work from Philip Greenspun, Eve Andersson and Andrew Grumet

http://philip.greenspun.com/internet-application-workbook/scaling

might give you some ideas on SMP vs Single Proc. We decided to go the single processor way because it's easier to add more simple machines that look the same when the load goes up.

We have had quite good experience with Dell so far, running RedHat Linux (5.x, 6.x, 7.x and now 8.0). I have been using a Dell 2500 for quite some time now with a hardware RAID card. Nice and fast but it's working as a database server.

Hope this helps ...
BTW all this wasn't for dotLRN but just openACS + custom code

Collapse
Posted by Mohan Pakkurti on
Bruno!

Thanks for your comments and information. It is nice to hear the actual number of requests you are able to support per each CPU. Do you have some kind of special connection between the database server and the web server machines? Or do you just connect them to the ethernet hub and let them talk to each other like any other machine on your network.

Thanks

/Mohan

Collapse
Posted by Bruno Mattarollo on

Hello,

Robert, we had a default OpenACS 4.5 installation. Of course we are not using a global cache on the two webservers, but if you wanted to have one you would have to look at some of the work that was done by aD where you could specify a cluster in the configuration and when you flushed the cache on one webserver, it would request a special URL that would flush the cache on the other(s) machine(s). We haven't implemented that in these machines.

Mohan, the two webservers and the database server are on a 100Mbps switch, so to answer your question, there is nothing special between all the machines, of course the latency between the machines should be reduced to the strict minimum. You should look at 1Gbps ethernet these days 😊 even though the network is not really the bottleneck between the DB and the webservers.

One of the problems we are experiencing right now, and I think it will be better with AOLServer 4 on the horizon, is that the webservers are on 100% of CPU utilization at peak times, meaning that the CPU is our bottleneck on those machines, but there are problems in the configuration of the load balancer as well. What I mean is that if your DB is properly configured and you are using caching of database queries or pages then you should be careful to have enough RAM and enough CPU on the webservers... But adding a single processor webserver is much cheaper than looking into upgrading our Sun 250 to another model!.