4 ms·
Does docker run on FreeBSD? Because it is crazy to run NGINX on anything other than FreeBSD because of Linux's appalling bad async IO support. For all I know Wi
by smegel 11y ago
Does docker run on FreeBSD? Because it is crazy to run NGINX on anything other than FreeBSD because of Linux's appalling bad async IO support. For all I know Windows might be a better choice.
- corobo 11y agoOut of interest not challenge, do you have any benchmarks for this at all? I'd be interested in seeing the end results
- smegel 11y agoWell when NGINX introduced thread-pools on Linux to handle async tasks (mainly waiting for block device IO) I think the speed-up was around 8x. Thread-pools make NGINX on Linux tolerable, but it just works flawlessly and beautifully on FreeBSD.
- corobo 11y agoHey that's not a benchmark! :P
- smegel 11y agohttps://www.nginx.com/blog/thread-pools-boost-performance-9x/ https://www.nginx.com/blog/thread-pools-boost-performance-9x... ...and it was 9x not 8x...
- kbutler 11y agoThe 9x delta is from "a synthetic benchmark that simulates the worst mix of blocking and non-blocking operations". Expect real-world workloads to have significantly less performance impact. The particular issue is: "The asynchronous interface requires the O_DIRECT flag to be set on the file descriptor, which means that any access to the file will bypass the cache in memory and increase load on the hard disks. That definitely doesn’t make it optimal for many cases. To solve this problem in particular, thread pools were introduced in NGINX 1.7.11" So, NGINX doesn't think it's crazy to deploy on linux. And no, Windows is not a better option. "only the select() connection processing method is currently used, so high performance and scalability should not be expected." http://nginx.org/en/docs/windows.html http://nginx.org/en/docs/windows.html
- davexunit 11y agoWhat a bold, unsubstantiated claim.
- skreuzer 11y agoDocker does run of FreeBSD but it heavily relies on ZFS and the 64bit Linux compatibility layer. https://wiki.freebsd.org/Docker https://wiki.freebsd.org/Docker
- rubiquity 11y agoAside from the thousands of applications using Nginx on Linux with fantastic results. Yes, yes we know *BSD has a better networking stack than Linux. Now that you're done letting everyone know how smart you are, please sit down.
- smegel 11y ago> Aside from the thousands of applications using Nginx on Linux with fantastic results. Citation needed. Name a big company using nginx on Linux to serve up lots of static content. > Yes, yes we know *BSD has a better networking stack than Linux. Who mentioned anything about a network stack? > Now that you're done letting everyone know how smart you are Well given some people like you clearly don't understand the point I was making I think justifies the comment in the first place.
- nl 11y agoCitation needed. Name a big company using nginx on Linux to serve up lots of static content. Facebook[1], Reddit[2], Wordpress[3] [1] http://venturebeat.com/2012/06/18/nginx-the-web-server-tech-youve-never-heard-of-that-powers-netflix-facebook-wordpress-and-more/ http://venturebeat.com/2012/06/18/nginx-the-web-server-tech-... [2] https://news.ycombinator.com/item?id=8244868 https://news.ycombinator.com/item?id=8244868 [3] http://searchdns.netcraft.com/?host=wordpress.com&x=0&y=10 http://searchdns.netcraft.com/?host=wordpress.com&x=0&y=10
- nl 11y agoThere are millions of Ngnix on Linux production implementations. And your advice is to use experimental[1] Docker support in FreeBSD, when Nginx would be running inside Docker on top of FreBSD's Linux compatibility layer. Finally - and most critically - Ngnix introduced thread pools to specifically work around a limitation of Linux's async IO implementation: Although Linux provides a kind of asynchronous interface for reading files, it has a couple of significant drawbacks. One of them is alignment requirements for file access and buffers, but NGINX handles that well. But the second problem is worse. The asynchronous interface requires the O_DIRECT flag to be set on the file descriptor, which means that any access to the file will bypass the cache in memory and increase load on the hard disks. That definitely doesn’t make it optimal for many cases. To solve this problem in particular, thread pools were introduced in NGINX 1.7.11.[2]. [1] https://wiki.freebsd.org/Docker https://wiki.freebsd.org/Docker [2] https://www.nginx.com/blog/thread-pools-boost-performance-9x/ https://www.nginx.com/blog/thread-pools-boost-performance-9x...
- jkldotio 11y agoI heard a while back - not sure where, it could have been on Slashdot but it escapes me - that FreeBSD was dying. Looking into the statistics just now it seems that's the case. FreeBSD is basically dead on the desktop[0] and is dying, no longer even holding a single percent, in the server market.[1] In the High Performance Computing (HPC) market, Linux holds over 99.8% of the top supercomputers.[2] [0] https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=9&qpcustomb=0 https://www.netmarketshare.com/operating-system-market-share... [1] http://w3techs.com/technologies/details/os-freebsd/all/all http://w3techs.com/technologies/details/os-freebsd/all/all [2] http://www.top500.org/statistics/details/osfam/1 http://www.top500.org/statistics/details/osfam/1