3 Replies Latest reply: Dec 22, 2010 3:46 PM by MrFuji
hamellr Level 1 Level 1 (0 points)
Assuming fairly static and minimal web pages (about 1MB total data each,) how many concurrent connections should I expect to see with a loaded Mac Mini before I start experiencing load issues? Users will only connect to the one page, but they might refresh multiple times in short amounts of time.

We're looking to have anywhere between 10 to 100 iPads/iPhones and 10-20 Macbooks all connecting via an AirPort extreme to the Mac Mini web server.

For understandable reasons, I can't really field test such a configuration, but I'm wondering if one Mac Mini and one Airport Extreme can realistically handle that much traffic.

Mac Mini Server, Mac OS X (10.6.5)
  • MrHoffman Level 6 Level 6 (12,980 points)
    As I trot out fairly regularly for purposes of demonstrating the bandwidth of the Mac Mini box, one of the previous-generation Mac Mini boxes I support is happily dealing with four broadcast HDTV streams from gigabit-based DTV tuners into a single FireWire 800 disk spindle.

    I'd load the box with memory. Apache likes memory.

    And I'd tend to guess your biggest issue here is probably going to be with the WiFi, particularly for client populations approaching 120 and for sufficiently small definitions of "short". I'm seeing slightly better than 200 Mbps on 11n 5GHz dual-slot with one busy station, but there's no way that'll hold with that many clients all co-resident on a single WiFi. And if those connections are remote (your message doesn't indicate if you're using that as a WiFi or as a gateway), well, you're toast without a decent-sized external network pipe.

    I'd tend to expect to need multiple WiFi devices and particularly given it's unlikely you'll have all 120 clients within range of one WiFi, and distributed preferably with gigabit wired as backhaul.

    Run your calculations for your bandwidth for your definition of "short", and (if you're so inclined) look around for a discussion of erlang calculations. And look to see if there's a better way to implement this than tossing around repeated copies of 1 MB total data at an interval of n seconds; via ZeroMQ or some other scheme, for instance.
  • hamellr Level 1 Level 1 (0 points)
    My setup is that 120 different wireless devices will be connecting to a web page (or two) hosted on the Mac Mini. There will not be any Internet access at all.

    It looks like I'm limited to 50 devices per an Airport Extreme (hooked up to the Internet, per Apple's docs) so other then the number of concurrent connections my bandwidth should be sufficient as the pages will be static and optimized once the content is rendered.

    At this point it's look like I'd be better off setting up multiple hot spots, each with a Mac Mini and an Airport with the data being mirrored across all the machines.
  • MrFuji Level 1 Level 1 (0 points)
    The web-server probably won't be the bottle neck. You can use "ab" to benchmark its performance. man ab from a terminal for the details.

    SUMMARY
    ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.

    While running ab, watch your CPU and memory utilization.

    Message was edited by: MrFuji