in reply to OpenBSD or FreeBSD for a Perl web app Production platform?

It is well known around here that I'm a FreeBSD bigot^H^H^H^H^Haficionado. I've also built a web services company on the strength of FreeBSD. In a nutshell, FreeBSD works, works well, and is constantly being updated.

As idsfa noted, there are times when it's not the leader in one area or another, but I can say, from 9 years of experience, including knowing quite a few of the developers personally, that FreeBSD is a really rocking choice for any sort of server application. I don't think there's another OS that handles single-processor task loading and switching as well on this planet, and that's what 99% of us run for our servers. I have heard that Solaris is still ahead in multiprocessing, but it is deficient in many other areas including ported utilities.

My experience is that OpenBSD doesn't have enough of a team to do more than concentrate on a few areas (OpenSSH and pf come to mind as recent examples). They do very well in those areas they tackle, and we all benefit from their work, but the OS as a whole is inconsistently improved.

The various Linux derivatives have one big advantage, and that's commercial support, but that's only an advantage if you care about desktop apps. My servers don't care about the latest FLASH player or game video driver. ;-) They are at a distinct disadvantage when it comes to heavily loaded Internet servers. Even with the latest round of fixes they've done based on the Coverity reports, there are still numerous design flaws and tradeoffs in their scheduling and virtual memory subsystems. Unless you are adamant about quotas and journaling filesystems, FreeBSD is a better choice than any other system.

It's also very easy to tune. It is important that a complex web system reside on a performance-tuned system, and tuning FreeBSD, MySQL and Apache is a science that's really useful to learn.

Finally, FreeBSD mostly stays true to the original BSD 4.4/SunOS 4.1 syntax, directory conventions, and utility parameters. Where they don't, it's flat-out better. The new bootup rc strategies are coming together very nicely, and they're being consistently implemented. Likewise the sysctl tuning variables are very easy to use although the documentation does not keep up well enough.

As for mod_perl, with the ports collection, it "just works". I have mod_perl set up with HTML::Embperl and Apache, and I'm just sitting here sipping cream and meowing happily. :D

Don Wilde
"There's more than one level to any answer."
  • Comment on Re: OpenBSD or FreeBSD for a Perl web app Production platform?

Replies are listed 'Best First'.
Re^2: OpenBSD or FreeBSD for a Perl web app Production platform?
by Anonymous Monk on Sep 21, 2006 at 21:48 UTC
    Wow. That's impressive. Thanks for sharing that! Especially the specifics of your FreeBSD setup. It helps in deciding what to try first.

    You mentioned heavily loaded servers...are you talking about the number and type of services running on them, or how heavy the traffic is? Or maybe their load averages?

    Your server setup sounds sweet! How much of an onslaught are your FreeBSD servers able to stand up to (might need to mention hardware specs of the server to make it meaningful, I guess)? By onslaught, I'm thinking of something like getting slammed with a "Slashdotting" or digg-type peak of server request all at once.

    Thanks again! FreeBSD sure sounds n--i--c--e to my geeky heart...

      Actually, none of it's that impressive. That's the point. Properly tuned FreeBSD servers with spawning daemon services (such as Apache) are very capable. We separate out the MySQL and mail systems to dedicated machines (we do a lot of HTML e-mailing), and the MySQL is replicated with failover across the Internet. Likewise, the web subsystems are duplicated in several locations. We have homebrewed dynamic DNS management, which serves us well except for IE users whose crappy browsers don't obey no-cache pragmas.

      What do they do well? Everything. We've had DDoS attacks, we've had load spikes, and we've had packet drops from upstream. FreeBSD has served well, with the only problems coming from admin errors, like leaving an anonymous FTP machine NFS'd to a live webserver or typing 'shutdown -h now' in the wrong terminal window.

      Our machines are all Dell 1{678}50's and 850's with single or dual P3's and 1 - 2 GB of main memory. The 1x50's are all SCSI-3 with partitions and swap spread out over three disks, and the 850's are simple P3 ATA-disk machines.

      We use a couple of the cheap boxes for live HDD data backups, but other than that and the system duplication, we just replace the systems with the latest low-end Dell hardware on a fairly regular basis. What we have been particular about is getting a good solid bandwidth provider. We're in One Wilshire in LA for our primary node, right next to Google and the other big guys. (www.aerioconnect.com) Clean 'Net, clean power, and good monitoring and emergency service.

      Don Wilde
      "There's more than one level to any answer."
        Quote: "Actually, none of it's that impressive. That's the point."

        Indeed!

        Thanks for going into the deails. The context helps.

        Thanks again.