Hi:
I was wondering how flexible cPanel and WHM were in running all the services they needed to run. This train of thought was prompted by the continuing discussion of performance issues in these forums - how many users can a Dathorn account support, how much resource utilisation is OK etc etc. Until the cows come home.
It always amazes me that with the kind of hot, modern servers that Dathorn has around the place - 4 CPU 2GHz Xeons with 1-2BG of RAM, thousands of GB of storage, SMP operating system etc - that the issue of performance should keep on rolling on, and sites keep on getting suspended for hogging the server etc etc.
That is serious hardware you're talking about, even if each server may be serving hundreds of sites. Probably 4 years ago, you could have run Yahoo on a box like that
These sort of problems that users are always having should not be happening when one has access to such super-servers, unless something was not optimal.
On this point, I got curious about what architecture cPanel and WHM needed to run on, because it strikes me that it is probably not always great from a performance and stability point-of-view to have cPanel based boxes running the way they seem to under most hosting environments.
In looking at activity on my current Dathorn cpanel server, you can see the problem at work: most of the time the big hogs are not Apache, but the SMTP server and MySQL, who have to continually fight with Apache for access to the limited resources of the system. So the headroom for Apache's performance is considerably lowered on that box because of this. And vice versa - MySQL has to fight with Apache, Exim has to fight them all, etc etc etc, and so each core service is performance compromised.
In fact, it seems a standard server box running cPanel/WHM runs everything but the kitchen sink on it - Exim SMTP, MySQL, DNS server, Apache w. PHP etc etc. It certainly looks that way when you are viewing server activity using top.
Unless I am wrong, probably each box in such a hosting environment - eg cpanel 32. 33, 34 etc - run pretty much the same build and software image. So to add users, and capability, you need to clone another cPanel/WHM box and add it to the rack, with all of those services running from that box in the same way they run off each of the others.
30 servers in the rack = 30 instances of MySQl, 30 DNS servers, 30 SMTP servers etc etc.
In a MS Windows server hosting environment, you'd never do things that way. Licensing costs would kill you, for one reason (30xIIS, 30x web-visible MSSQL etc = mucho big $$), but you also wouldn't do things that way because it performs poorly to have a whole fleet of general purpose boxes, and it also is an admin/security headache.
You'd set up things in a more partitioned way, generally (depending on the size of your operation). You'd have a bunch of servers just doing web serving and scripting, you'd have a separate big beefy SQL database server or two, you'd have a separate SMTP server, also separate DNS servers, and in the middle of it somewhere a backup system, and other bits.
All these machines would be able to talk to each other, of course, usually across your gigabit backplane or something, and from a user or developer perspective it would all be transparent, even the database stuff. Sometimes you could also even put different machines in different security environments too - eg have the SQL server(s) physically and logically firewalled off from the web server(s), which is very nice to do.
In these environments you can then also really tune specific machines to do specific jobs really well, and cut out of them all the other crap that would normally run on them and rob them of performance.
Your web server can be optimised to serve pages and run scripts efficiently and securely, and that's all. Ditto your databases server(s) - they could be tuned and specced just to be excellent at being database servers. Same with your SMTP server, DNS box, user authentication etc etc.
These environments I think perform and scale better, can be more managable and secure, and may even be more cost effective too.
To cut a long-story short
- when a web-host sets up a cPanel/WHM operation, can it support this kind of architecture?
I haven't trawled the web or the cPanel site yet for any info on this, but thought I'd ask here, because I suspect some people on Dathorn have probably thought about this issue.
It is just an academic kind of question, but I was curious about it.
I was wondering how flexible cPanel and WHM were in running all the services they needed to run. This train of thought was prompted by the continuing discussion of performance issues in these forums - how many users can a Dathorn account support, how much resource utilisation is OK etc etc. Until the cows come home.
It always amazes me that with the kind of hot, modern servers that Dathorn has around the place - 4 CPU 2GHz Xeons with 1-2BG of RAM, thousands of GB of storage, SMP operating system etc - that the issue of performance should keep on rolling on, and sites keep on getting suspended for hogging the server etc etc.
That is serious hardware you're talking about, even if each server may be serving hundreds of sites. Probably 4 years ago, you could have run Yahoo on a box like that
These sort of problems that users are always having should not be happening when one has access to such super-servers, unless something was not optimal.On this point, I got curious about what architecture cPanel and WHM needed to run on, because it strikes me that it is probably not always great from a performance and stability point-of-view to have cPanel based boxes running the way they seem to under most hosting environments.
In looking at activity on my current Dathorn cpanel server, you can see the problem at work: most of the time the big hogs are not Apache, but the SMTP server and MySQL, who have to continually fight with Apache for access to the limited resources of the system. So the headroom for Apache's performance is considerably lowered on that box because of this. And vice versa - MySQL has to fight with Apache, Exim has to fight them all, etc etc etc, and so each core service is performance compromised.
In fact, it seems a standard server box running cPanel/WHM runs everything but the kitchen sink on it - Exim SMTP, MySQL, DNS server, Apache w. PHP etc etc. It certainly looks that way when you are viewing server activity using top.
Unless I am wrong, probably each box in such a hosting environment - eg cpanel 32. 33, 34 etc - run pretty much the same build and software image. So to add users, and capability, you need to clone another cPanel/WHM box and add it to the rack, with all of those services running from that box in the same way they run off each of the others.
30 servers in the rack = 30 instances of MySQl, 30 DNS servers, 30 SMTP servers etc etc.
In a MS Windows server hosting environment, you'd never do things that way. Licensing costs would kill you, for one reason (30xIIS, 30x web-visible MSSQL etc = mucho big $$), but you also wouldn't do things that way because it performs poorly to have a whole fleet of general purpose boxes, and it also is an admin/security headache.
You'd set up things in a more partitioned way, generally (depending on the size of your operation). You'd have a bunch of servers just doing web serving and scripting, you'd have a separate big beefy SQL database server or two, you'd have a separate SMTP server, also separate DNS servers, and in the middle of it somewhere a backup system, and other bits.
All these machines would be able to talk to each other, of course, usually across your gigabit backplane or something, and from a user or developer perspective it would all be transparent, even the database stuff. Sometimes you could also even put different machines in different security environments too - eg have the SQL server(s) physically and logically firewalled off from the web server(s), which is very nice to do.
In these environments you can then also really tune specific machines to do specific jobs really well, and cut out of them all the other crap that would normally run on them and rob them of performance.
Your web server can be optimised to serve pages and run scripts efficiently and securely, and that's all. Ditto your databases server(s) - they could be tuned and specced just to be excellent at being database servers. Same with your SMTP server, DNS box, user authentication etc etc.
These environments I think perform and scale better, can be more managable and secure, and may even be more cost effective too.
To cut a long-story short
- when a web-host sets up a cPanel/WHM operation, can it support this kind of architecture? I haven't trawled the web or the cPanel site yet for any info on this, but thought I'd ask here, because I suspect some people on Dathorn have probably thought about this issue.
It is just an academic kind of question, but I was curious about it.

Comment