1

I am trying to run Jmeter to simulate 40k concurrent users and stress test a particular system. Putting aside the possibility that Jmeter may not be able to push such a high number (although I have read that it is at least possible to handle 10k concurrent threads on a very powerful machine), is FreeBSD a more suitable OS as compare to CentOS to be used for my Jmeter machine for handling 40k (or as high as possible) of concurrent outbound connections?

Reason for asking this is that, I have found articles on FreeBSD for tuning and optimizing for maximum outbound connections, but seem to have little luck with CentOS. It makes me wonder if for some specific reasons, people don't use CentOS for such high number of outbound connections. Personally however, I am more familiar with CentOS and would like to stick with it if possible.

In short, I would like to know whether it's a better option to tune FreeBSD for such high number of connections, or if I could achieve the same results with CentOS too?

Any input is greatly appreciated!

blacklotus
  • 85
  • 6

4 Answers4

4

Although my knowledge of Linux is pretty much nonexistent, I can tell you that we had to tune several default Linux kernel networking settings to handle the traffic levels we regularly get on these sites. We use ubuntu server, but all the advice we found seemed to be distribution agnostic.

My point: I don't think any distro is set up correctly for massive numbers of network connections out of the box; they all require a bit of tuning.

Jeff Atwood
  • 12,994
  • 20
  • 74
  • 92
4

FreeBSD 7/8/9 and Linux 2.6 are basically equal in their out-of-box networking capacity. I've seen benchmarks where one outdoes the other, and they seem to go back and forth. I'd recommend using the platform you're most familiar with, as you'll likely be able to tune it better.

Chris S
  • 77,337
  • 11
  • 120
  • 212
  • Is it possible for you to share the links to the benchmarks? – blacklotus Jun 14 '10 at 01:27
  • 1
    This benchmark is getting a bit old now, but it was doing when there were some big changes being done to the kernels to support massive connection scenarios: http://bulk.fefe.de/scalability/ – Chris S Jun 14 '10 at 02:14
  • 1
    Another benchmark site using completely unoptimized kernels, but unfortunately done on a laptop. Still most of the numbers are relevant to generic situations. http://www.phoronix.com/scan.php?page=article&item=freebsd8_benchmarks&num=1 – Chris S Jun 14 '10 at 02:24
1

If you're talking about the concurrent users & connections, then is it related to the server application more than it is to the OS?

If that is the case then the choice of web server is more important and then comes the server applications like nginx into the scene. Nginx is famous for handling very large number of simultaneous connections.

  • Nginx is more of a web application that handles inbound traffic instead of generating outbound traffic. In the place of application, I have Jmeter that would generate all the outbound traffic for me. I am sure that both Jmeter and the OS would both be hitting the out-of-the-box limits and require extensive tuning. Since I am stuck with Jmeter, I am primarily concerned about whether one of these OS may be a better choice so that I don't have to switch in the future when I hit the hard limit and realize my mistakes. :) – blacklotus Jun 14 '10 at 01:22
1

You can possibly look onto Tsung to use for testing with such an amount of concurrent users.

Aliaksandr Belik
  • 259
  • 6
  • 17