View Single Post
Old 20th August 2012
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,983
Default

The OS is nothing more than a tool. You keep asking which hammer is best, but you don't yet know if you have a nail sticking up.

Your earlier statement that "hardware is not the issue" is incorrect. These two OSes have widely divergent SMP implementations, and as I mentioned earlier, generally FreeBSD offers higher multiprocessor performance -- but only when the workload is highly parallel. Serialized workloads (or a single CPU server) will not see these differences. Your hosting vendor offers dedicated servers that vary widely in performance capability, from single processor Intel Atom machines to 8-way Intel Xeon platforms. Saying "a dedicated server" is not meaningful when you are asking about performance.

If a high transaction rate is a real requirement, you should consider what a high-transaction rate infrastructure entails. Multiple servers, load balancing, the ability to add new servers to increase performance and scale quickly. Multiple servers are also used to add security, as I show in the example below. In this example, there are two firewalls. FW1 permits access only to the web servers, FW2 permits only SQL access only from the web servers, and nothing from the Internet. The "web server farm" may include load balancers to direct incoming transactions to web servers, or FW1 may provide that service. As demand increases, additional web servers may be added. As demand declines, web servers may be removed.
Code:
{internet} - [FW1] - [web server farm] [FW2] - [database]
Note: Additional separation of duties is possible for some web infrastructures. For instance, I've deployed solutions that had separate web and application servers; the web servers managed presentation and the application servers executed business logic. This was not PHP however, where it is difficult to separate the two. I've also deployed separate authentication and authorization servers, to isolate those services from the application layer, simplifying business rules.
Reply With Quote