6 ms·
Static Web Hosting on the Intel N150
- artimaeis 11mo agoI love how capable these tiny N150 machines are. I've got one running Debian for my home media and backup solution and it's never stuttered. I'd be curious about exactly what machine they're testing with. I've got the Beelink ME mini running that media server. And I use a Beelink EQ14 as a kind of jump box to remote into my work desktop.
- transpute 11mo agoWould you mind sharing the Linux hardware platform security report ("fwupdmgr security") for those Beelink boxes, e.g. what is enabled/disabled by the OEM? N150 SoC supports Intel TXT, which was previously limited to $800+ vPro devices, but it requires BIOS support from OEMs like Beelink. Depending on HSI status, OSS coreboot might be feasible on some N150 boxes. https://fwupd.github.io/libfwupdplugin/hsi.html https://fwupd.github.io/libfwupdplugin/hsi.html
- artimaeis 11mo agoHappy to share the report from the ME Mini box (below). But the other one is running Windows so I can't help there. Thanks to this I was able to find I'd initially left off secure boot and was able to fix a couple of its suggestions at least, but if I'm understanding the HSI status and coreboot needs, there's fuses flipped that would prevent it. WARNING: UEFI capsule updates not available or enabled in firmware setup See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information. Host Security ID: HSI:0! (v2.0.8) HSI-1 csme override: Locked csme v0:16.50.15.1515: Valid Platform debugging: Disabled SPI write: Disabled Supported CPU: Valid TPM empty PCRs: Valid TPM v2.0: Found UEFI bootservice variables: Locked UEFI secure boot: Enabled BIOS firmware updates: Disabled csme manufacturing mode: Unlocked SPI lock: Disabled SPI BIOS region: Unlocked UEFI platform key: Invalid HSI-2 Intel BootGuard: Enabled IOMMU: Enabled Platform debugging: Locked TPM PCR0 reconstruction: Valid Intel BootGuard ACM protected: Invalid Intel BootGuard OTP fuse: Invalid Intel BootGuard verified boot: Invalid HSI-3 CET Platform: Supported Intel BootGuard error policy: Invalid Pre-boot DMA protection: Disabled Suspend-to-idle: Disabled Suspend-to-ram: Enabled HSI-4 SMAP: Enabled Encrypted RAM: Not supported Runtime Suffix -! fwupd plugins: Untainted Linux kernel lockdown: Enabled Linux kernel: Untainted CET OS Support: Not supported Linux swap: Unencrypted UEFI db: Invalid This system has a low HSI security level. » https://fwupd.github.io/hsi.html#low-security-level This system has HSI runtime issues. » https://fwupd.github.io/hsi.html#hsi-runtime-suffix
- draga79 11mo agoIt's a Minisforum UN150P
- transpute 11mo agoHSI report on that box would be useful.
- craftkiller 11mo agoI'm not the author but my parents have pretty much decided they will never use a game console newer than the nintendo wii, but so far two of their wiis have died. Since no one is making wiis anymore, I decided to future-proof their gaming by setting them up with a mele quieter 4c [0], with the official wii bluetooth module attached over USB for perfect wiimote compatibility, running the dolphin emulator. Not every game runs perfectly, but every game they want to play runs perfectly AND it is smaller, silent, and consumes less power than the real wii. [0] My experience with that mini computer: I bought two. The first one was great, but the 2nd one had coil whine so I had to return it. Aside from the whine, I love the box. If I could guarantee I wouldn't get whine I'd buy another today.
- toast0 11mo agoI'd love to see benchmarks that hit CPU or NIC limits; the HTTPS test hit CPU limits on many of the configurations, but inquiring minds want to know how much can you crank out with FreeBSD. Anyway, overload behavior is sometimes very interesting (probably less so for static https). May well need more load generation nodes though; load generation is often harder than handling load. OTOH, maybe this is a bad test on purpose? the blogger doesn't like running these tests, so do a bad one and hope someone else is baited into running a better test?
- deleted 11mo ago[deleted]
- craftkiller 11mo agoI don't see any mention of enabling kTLS (TLS in the kernel). I'd suggest re-running the benchmark with kTLS enabled: https://www.f5.com/company/blog/nginx/improving-nginx-performance-with-kernel-tls https://www.f5.com/company/blog/nginx/improving-nginx-perfor... Also it doesn't look like they enabled sendfile() in the nginx conf: https://nginx.org/en/docs/http/ngx_http_core_module.html#sendfile https://nginx.org/en/docs/http/ngx_http_core_module.html#sen... The combination of sendfile and kTLS should avoid round-trips to userland while sending files.
- jms703 11mo agoTrue, but the other OS's don't suppor that. If the goal is out of the box testing, kTLS would not be representative of that.
- draga79 11mo agoExactly. That's why I didn't enable it
- whartung 11mo agoBut that said, it would be interesting to see the different systems after a tuning pass. Both as an example of capability, but also as an mechanic to discuss tuning options available to the users. Mind, the whole "its slow get new hardware" comes from the fact that getting another 10% by tuning "won't fix the problem". By the time folks feel the sluggish performance, you're probably not looking for another 10 points. The 10 points matter at scale to lower overall hardware costs. 10% less hardware with a 1000 servers is a different problem with 10% less hardware with just one. But, still, a tuning blog would be interesting, at least to me.
- camkego 11mo agoJust my two cents, as an end-user choosing a OS to use on an N150 to do static web hosting, I would sure like to know if those features make a meaningful difference. But I also understand, that looking at that might have beyond the scope of the article.
- matthewhartmans 11mo agoLove this! I have been running a N150 with Debian 13 as my daily driver and super impressed! For ~$150 it packs a punch!
- transpute 11mo agoCould you recommend make/model? Quality seems variable at those price points.
- kevin_thibedeau 11mo agoThe Topton/CWWK boxes are consistently decent. Best choice if you want fanless.
- sedawkgrep 11mo agoFor mini pcs, Beelink probably has the best support. I've owned a few and had one replaced under warranty.
- gorgoiler 11mo agoThe Minix 0db machines are great. The N150 model is $250 but it’s fanless which is a handy feature if you’re prone to dust, unable (or unwilling!) to clean filters, hate fans, or love chunky blocks of metal: https://www.minix.com.hk/products/minix-z150-0db-fanless-mini-pc https://www.minix.com.hk/products/minix-z150-0db-fanless-min... I bought my first one because it’s silent. I bought my second one because I like chunky blocks of metal.
- aj_hackman 11mo agoI bought the Geekom Air12 Lite, and the build quality has impressed me.
- PaulKeeble 11mo agoI didn't see a size of the test page as I went through (Did I miss it?) and I think in this case it potentially matters. A 2.5 gbps link can do ~280 MB/s, which at 63k requests is just 4.55KB a request. That could easily be a single page and saturating the connection link, explaining the clustering at that value.
- fabioyy 11mo agoThe numbers seems to be too much near 65535 to be a coincidence. are you making the request from a single IP address source? are you aware of the limit of using the same source IP address for the same destination IP address ( and port )? ( each connection can have only a unique source address and source port to the destination, maxing out in source 65535 ports ) for the same destination
- Neil44 11mo agoI wonder if that's why the cpu is idle for part of the time, it's waiting for sockets to become free.
- toast0 11mo agoI would expect http persistent connections (keep-alive) at these rates. It's very hard to get 64 k connections/second from a single IP to a single server ip:port without heavily tuning the client, which they don't mention doing. They're only testing for 10 seconds, but still, you'd need to clear all the closed connections out of TIME_WAIT pretty darn quick in order to re-use each port 10 times.
- deleted 11mo ago[deleted]
- klipklop 11mo agoLove these N150 systems. I wonder if the RAM/SSD/misc shortages are going to make these humble $140 boxes like $300+ soon.
- transpute 11mo agoSome N150 systems have integrated LPDDR5 from Chinese memory suppliers, who have been increasing production capacity, unlike Korean memory suppliers who have decreased production and increased prices in the face of higher demand. More NAND supplier competition needed.
- klipklop 11mo agoThat is good news, but I have seem some sellers already jump their price +$100 on Amazon. Perhaps just price gouging to take advantage. I might pick up another if I can get it for ~$140.
- Neil44 11mo agoImagine what a big piece of iron could do, it makes me think of the stories recently of people who came out of cloud and run everything of one or few bare metal hosts.
- draga79 11mo agoThat's the point!
- spankibalt 11mo agoSucks that that there's no ECC-RAM model. A phone-sized x86 slab, as opposed to those impractical mini-PC/Mini-Mac boxes, that one could carry around and connect to a powerbank of similar size, and/or various types of screens (including a smartphone itself), would make for a great ultramobile setup.
- snvzz 11mo agoI like to pretend options without ECC simply do not exist. (i.e. as it should be) It shortens the list of options, making choices much easier.
- deleted 11mo ago[deleted]
- zokier 11mo agoIf you want relatively small low-power box with ECC, checkout Asustor AS6804T. It is nominally a NAS but really you can use it for anything you want, it is just an x86-64 server with some disk bays. You also get nice 2x10GbE, which is rare with these minipcs
- LTL_FTC 11mo agoIf it had a a few more cores, something like this would make for a great node in a distributed system like k8s or ceph for a homelab. At the asking price, however, one could also cross shop an HP micro server gen11.
- antonkochubey 11mo agoOdroid H4 Ultra? It has 8 Gracemont cores that can stay boosted for quite a long time, and supports in-band ECC. 4x SATA too for those who care.
- hollerith 11mo agoBut the price of that is $1200, which is about 5 times the price of the average N150 mini PC.
- LeoPanthera 11mo agoIs there a guide somewhere to what low power CPUs exist in these new mini PC things? I feel like I'm increasingly out of touch.
- n4bz0r 11mo agoMini PCs mostly run N-series Intel CPUs [0][1] nowadays AFAIK. The cheaper and most popular one is N150 [2] which is a replacement for N100 [3]. The newer one boosts a bit higher. The 6-7W TDP in specs is a lie, but these CPUs still have fairly modest consumption working at about 10-20W on average. There are some low power chips from AMD, but that's mostly NAS territory. Don't see them a whole lot and don't know much about them either. [0] https://www.techpowerup.com/cpu-specs/?f=codename_=Gracemont https://www.techpowerup.com/cpu-specs/?f=codename_=Gracemont [1] https://www.techpowerup.com/cpu-specs/?f=codename_=Twin%20Lake https://www.techpowerup.com/cpu-specs/?f=codename_=Twin%20La... [2] https://www.techpowerup.com/cpu-specs/processor-n150.c4109 https://www.techpowerup.com/cpu-specs/processor-n150.c4109 [3] https://www.techpowerup.com/cpu-specs/processor-n100.c3007 https://www.techpowerup.com/cpu-specs/processor-n100.c3007
- hedora 11mo agoThere are also higher power AMD devices that work extremely well. If you’re willing to go up to 60W TDP and $500-1000, then they’re good enough to run recent steam games under linux at 1080p and LLM inference (if you spring for > ~32GB of RAM). Like many others on this thread, I’ve had good luck with beelink.
- shadowpho 11mo agoN100/n150/n97 have similar performance. Power seems to be 6-12w at idle depending. Ram limited to 16GB usually. Low number of pcie lanes (NAS are limited). Cost used to be $100, but now it went up to $120+. From amd side I have 4700u and 5700u, similar idle power (12w), similar cost ($200 with 32gb of ram, now more expensive). A lot more capable then n100, at a cost. I use a whole bunch of mini pc in my lab, they are so much cheaper to run electricity wise (and cost)
- baq 11mo agothe N100 family has been the raspberry pi host killer for me, migrated to one from an rpi4, couldn't be happier.
- VTimofeenko 11mo agoAre you running a Radxa x4 or something else?
- baq 11mo agoNo, I’ve got something much bigger than the rpi form factor, but still very small in absolute terms, it isn’t a beelink, but something quite similar.
- zoobab 11mo agoDo you have GPIOs?
- baq 11mo agoEverything that needs gpio is attached to esp32s all over, so technically no, not on the N100 box.
- skeezyjefferson 11mo agoim sure one of my beelink n95 boxes has gpio
- irusensei 11mo agoI have a pi5 running with the poe+ m2 hat from waveshare. I absolutely detest the boot loader shenanigans and the limited support from OS other than a select few. For comparison I also have a pi5 and after dumping a few files in a fat partition it had UEFI rolling and I just next->next->finished my favorite OS on it. Not a lot of options for N100 with PoE+ though. There is the Radxa x4 but thats hard to find and the MS S100 is quite locked down in terms of storage.
- snvzz 11mo agoIt really should be "nginx static web hosting..." as it seems to be very specifically measuring nginx performance across OSs. Otherwise, seL4/LionsOS webserver scenario could be tested.
- waynesonfire 11mo agoI'd really like one that has 2x M.2 slots. I'm very uncomfortable running a server on a single disk. Also, ECC ram would be nice.
- shadowpho 11mo ago2x m.2 is usually reserved for more expensive (>$200) mini pc. Or nas based mini pc which have trade offs. Ecc ram is rare because very few people are asking for it, and it costs extra
- transpute 11mo agoIf you don't need speed, you can bifurcate one 4-lane M.2 into 4x 1-lane M.2 slots.
- koakuma-chan 11mo agoAll these benchmarking utilities like wrk are notorious for not supporting HTTP/2. Why would you serve static content and not use HTTP/2?
- YorickPeterse 11mo agoAt least one reason could be that `sendfile` is useless when using HTTP/2 or HTTP/3, as you can no longer just dump the contents directly onto a socket. Whether that actually makes a practical difference on modern hardware remains to be seen of course.
- koakuma-chan 11mo agoThere is nothing that prevents you from using sendfile and HTTP/2 at the same time. You still dump the contents directly into the socket.
- YorickPeterse 11mo agoYes there is: HTTP/2's and HTTP/3's framing of messages is such that you can't reliably dump a file as-is onto an HTTP/2 connection, as it may exceed the maximum size allowed by a frame.
- koakuma-chan 11mo agoYou can dump only the necessary part of the file. It does not have to be the whole file at once.
- irusensei 11mo agoThis is related to a quad core intel processor. It must be noted that most of these OS with the exception of NetBSD can't efficiently handle heterogenous core configurations like in what you find on more powerful Intel processors.
- proxysna 11mo agoPleasantly surprised to see SmartOS and zones used. Nice writeup.
- rootnod3 11mo agoOf course zones and jails win a bit there, because they get their own native networking stack on the kernel instead of going through bridges. Not much experience with Solaris zones, but FreeBSD jails and their vnets are amazingly good. They also don't lose much in translation. Say you run an Ubuntu 12.04 with a Debian 13 Docker image. Sure, it works, but it has to translate. Jails have the restriction that a jail can't have a higher version than the host system. So there's (almost) zero translation involved. My home stack is OpenBSD for the gateway/router, several FreeBSD machines (services, DBs, pkg build server, data storage/NAS) and another OpenBSD machine to run OpenBSD VMs via VMD and I haven't looked back since then. It's a stack that works with impeccable perfomance and equally impeccable documentation. Should the internet crumble due to another AWS us-east-1 or another cloudflare fuckup I can at least run my local stuff and feel confident enough to continue making changes to the system just based off the locally available documentation.