FreeBSD SMP scalable PF coming to FreeBSD HEAD

Gleb Smirnoff writes on the FreeBSD PF Mailing List about a some improvements he has made to make Packet Filter (PF) SMP-scalable and faster:

“As you already may now, last half a year I’ve been working on making pf SMP-scalable and faster in general. More info can be found here:

Since that announce in June, I’ve been running experimental code for more than 2 months in production on several routers. Also, some brave people volunteered to be beta-testers and also run the experimental branch in last couple of months. Code proved to be stable enough.

The new code performs better in production: less CPU load, less jitter, more responsive system under high load. It performs better under synthetic benchmarks like random generated UDP flood. It performs much better when DoS comes in.”

Clang’ed FreeBSD: Builds quicker, uses way less RAM

Dimitry Andric, a FreeBSD developer, has carried out some performance tests to explore the impact that LLVM/Clang as the default FreeBSD compiler has on FreeBSD 10, compared to GCC 4.2.1 and GCC 4.7.1. He concludes that  to build FreeBSD with Clang less RAM is used and the compilation finishes quicker. Clang comes out in the benchmarks mostly ahead of GCC on FreeBSD.

I recently performed a series of compiler performance tests on FreeBSD 10.0-CURRENT, particularly comparing gcc 4.2.1 and gcc 4.7.1 against clang 3.1 and clang 3.2.

The attached text file[1] contains more information about the tests,
some semi-cooked performance data, and my conclusions. Any errors and omissions are also my fault, so if you notice them, please let me know.

The executive summary: clang compiles mostly faster than gcc sometimes much faster), and uses significantly less memory.

Finally, please note these tests were purely about compilation speed,
not about the performance of the resulting executables. This still
needs to be tested.

You can check the benchmarks here: Clang/llvm performance tests on FreeBSD 10.0-CURRENT

 

Announcing the end of port CVS

The development of FreeBSD ports is done in Subversion nowadays. Fy February 28th 2013 the FreeBSD ports tree will no longer be exported to CVS. Therefore ports tree updates via CVS or CVSup will no longer available after that date. All users who use CVS or CVSup to update the ports tree are encouraged to switch to portsnap(8) or for users which need more control over their ports collection checkout use Subversion directly.

Read the full announcement.

Installing and configuring Squid and DansGuardian under FreeBSD

Installing and configuring FreeBSD as router is something most of us won’t do daily. It’s one of those jobs you do once, and when it’s up and running, you let your server / router do its work and you don’t touch it – unless there’s a problem.

Squid and DansGuardian are some excellent tools for caching and content filtering. Squid is a caching proxy  supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. DansGuardian is a web content filter. It filters the actual content of pages based on many methods including phrase matching, PICS filtering and URL filtering.

Since configuring Squid and DansGuardian is not something we daily do, the following tutorial may be useful: Installing and configuring Squid and DansGuardian under FreeBSD.

If you run pfSense, you can install Squid and DansGuardian too.

Another interesting tutorial is the one on creating plugins for FreeBSD’s new pkgng package management: Writing plugins for pkgns.

 

Messaging 10bn Whatsapps a day with FreeBSD

Whatsapp, the popular messaging startup, managed to record 10 billion messages in one day, comprising 6 billion outbound messages and 4 billion inbound messages.

WhatsApp Messenger is a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for iPhone, BlackBerry, Android, Windows Phone and Nokia!

Whatsapp tweeted about their new milestone last week:

“new daily record: 4B inbound, 6B outbound = 10B total messages a day! #freebsd #erlang.”

The hashtags are references to the technology behind WhatsApp: the app was developed largely on the open source platform FreeBSD using the Erlang programming language originally written by Ericsson.

FreeBSD proves again it’s a great operating system for high demand services.

BSDTutorial youtube channel (videos)

I came across the BSD Tutorial channel on youtube that has some useful videos. They’re short and clear.

The following are related to managing and maintaining FreeBSD:

The website related to this channel is http://bsdtutorial.org