I am writing a web application, that should work with 1000 requests/second using Apache and MySQL. On my server I have Ubuntu installed. Can my application be faster if I install FreeBSD instead of Ubuntu?
Thanks.
|
I am writing a web application, that should work with 1000 requests/second using Apache and MySQL. On my server I have Ubuntu installed. Can my application be faster if I install FreeBSD instead of Ubuntu? Thanks. |
|||||
|
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
The difference between various *nix distros in speed is minimal. I would suggest you use nginx instead of Apache. That might really save your day :) |
|||
|
|
|
First off, BSD is not linux, but that's ok. BSD distros are typically faster than linux, but not enough for you to stress about it. But the fact of the matter is that your operating system is a very small factor in throughput (crappy OSs excepted). Operating system, web server, database flavor, and programming language will have an insignificant impact on throughput in comparison to hardware. The only notable factor will be the guts in your server. Buy more ram, more cores and faster processors. That will speed things up. But beyond that, if you are buying your own server, it is probably on your home connection. If you put this on a standard dsl line it is unlikely you could pump out more than 100 RPS. Just be a peach and buy web hosting somewhere that has fast connection to the interblag. |
||||
|
|
As far as your OS is based on Linux/Unix, then no problem.just OS should be TUNED properly and very carefully. the real thing is the performance tuning of Apache and MySQL. and you will surely require a load balancer to entertain 1000 requests/sec. or on the other hand, you can use a very heavy hardware with huge memory and CPU to accommodate everything on same machine. the things you should be concerned is - Careful balancing of Load - Performance tuning of Apache - performance tuning of MySQL (and as well separation of MySQL from Apache server) |
|||||||||
|
|
When optimizing for performance, the selection of OS or Linux flavour matters the least.
|
|||
|
|
|
You could also go with ArchLinux, which is about as bare-bones as you can possibly get in a Linux distro. As other people have already answered, there is typically not really any appreciable difference in speed between distributions; what matters is your configuration and the amount of processes running. That said, Arch is a good choice because you are in control of absolutely everything; you can be sure nothing else will slow down your server without your knowledge. Besides the distribution, you need to analyze your application flow. Apache has a big footprint and can't serve as many simultaneous connections as some of its single-threaded peers (e.g., nginx, lighttpd), but it is the only good choice for a number of apps. If your pages are well-cached, you're using bytecode optimization, and your query time is low, there's no reason why it couldn't handle 1000 concurrent connections. But if you're doing any kind of non-trivial processing, you will need to either start thinking about more efficient web servers, or clustering 2 or more Apache servers together in a load-balanced setup. |
|||
|
|