3 ms·
Care to share how?
by Bancakes 4y ago
Care to share how?
- blacklion 4y agoIt is complex topic. I'm using FreeBSD at server environment (you are right that Wifi and GPU support of FreeBSD is lagging, so I'm not using it on desktops/laptops). As server, FreeBSD needs increasing all socket buffers via sysctls, tuning NIC IRQ moderation (depends on NIC, but we are not discussing Realtek ones here, am I right?), and, in the past, VFS caching and read-ahead was very conservative by default, but now ZFS is the same as on Linux (unfortunately, as some non-tunable Linux-induced optimizations slightly hurt performance on BSD, best ZFS performance were before switch to OpenZFS). For example, "stock" FreeBSD 13 on my hand-built NAS (5x8Tb zraid, system on SSD, E3-1220v3, 32GB RAM, Intel 10G NIC) only can serve ~250MB/s over SMB (with same Samba as Linux uses, of course), and after tuning (socket buffers, NIC IRQ coalescing, etc) it serves 750-800MB/s from cache and 500MB/s from spinning rust (which is obvious limitation of HDDs, not OS). Unfortunately, I don't know one coherent and modern FreeBSD performance tuning guides, but this guide [1] is mostly actual still, for network part. [1] - https://calomel.org/freebsd_network_tuning.html https://calomel.org/freebsd_network_tuning.html
- blacklion 4y agoAnd optimizations for database (MySQL, PostgreSQL) tests are other can of worms, which includes tuning of recordsize of ZFS, ZFS ARC/ARC2L tuning, etc., I'm not qualified to advice here, as I'm using FreeBSD on network devices (gateways, firewalls, VPN endpoints) and storage boxes mostly.
- lproven 4y agoIt is not all about benchmarks. Benchmarks are just statistics. You know what Benjamin D'Israeli said about statistics, right? "There are three kinds of lies: lies, damned lies, and statistics." There are more important things than raw performance numbers. How stable is the OS? That means over years, not hours. Note: benchmarks tell you nothing about this. How much maintenance does it take? That means both steps, and patches. How much work must you do? How long will it take? How much intervention? Can you automate it? How many updates must you install? How often? How big are they? How much bandwidth will they take? Can they be 100% trusted not to break anything ever? Note: benchmarks tell you nothing about this. How good is the driver support? That means both: How many drivers are there, and how good are the drivers? E.g. FreeBSD has many wifi drivers but they don't support the full speed of modern Wifi chipsets. That is why wifibox exists. Note: benchmarks tell you nothing about this. If the OS is rock solid and updates are small, easy, reliable and infrequent, and the drivers are comprehensive, that's all good. But then you must ask if it does what you need it to do? Does it run one app you must have? If not, does it have a replacement that is just as good in every way? Note: benchmarks tell you nothing about this. If it has the app you need, does it have the version you need? If it doesn't, is there an external source or a compatibility layer you could use? Note: benchmarks tell you nothing about this. If there is an external source, is it worth the work? Will it reduce stability? Will it make the updates more complicated? AGAIN, benchmarks tell you nothing about this. But benchmarks are easy, which is why people do them and publish them, because they look good and give replicable objective evidence, and we all need that. But they are only part of the story. Let us ask a question combining these things I have listed: BSD will do all I need so long as I run the Linux compiler for $NEWLANG that I need for my project under the Linuxulator. However, that only works with FreeBSD, so now NetBSD is out of the running. However, if I run the language under the FreeBSD Linux emulator, $WEBSITE benchmarked it, and it only gives 25% of the native performance, and I need a minimum of 75% performance according to my budget and the benchmarks from $WEBSITE2. Also, if I run the Linux version, I need to update that separately, and that will make my update régime twice as complicated, and quadruple my testing. So, I won't use BSD, I will use AlmaLinux after all. Summary: benchmarks are not enough, but you need them. It is more complicated than just benchmarks. TL;DR: this is the short version.