TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Running production server on M1 mini?

23 pointsby groundthrowerover 3 years ago
We have a performance intensive application running on a AMD Epyc dedicated instance with 32 cores (our application is highly parallelizable)<p>We just noticed locally on our dev environment that our M1 is actually performing better performance wise (don’t ask me how).<p>We are now considering switching our production servers to M1 minis which is also offered by our cloud provider. Do you have any experience on running M1s &#x2F; Mac in an production environment regarding stability &#x2F; uptime etc?<p>Edit: it’s a Rust application which uses the Rayon crate. The application gets on average one request a minute which crunches some numbers for an average of 2 seconds - so it’s mostly idle. No disk IO.

24 comments

al2o3crover 3 years ago
<p><pre><code> don’t ask me how </code></pre> _You_ should be asking you how - there are lots of reasons why this could be happening and knowing which one is important if you&#x27;re changing stuff.<p>Based on a &quot;highly parallelizable&quot; application performing better on 8 cores than 32, I&#x27;d guess you&#x27;re running out of something else: memory or disk bandwidth.
评论 #29460132 未加载
评论 #29459860 未加载
评论 #29467718 未加载
评论 #29459885 未加载
hvgkover 3 years ago
They are perfectly stable machines for running batch jobs. I have had one running a bunch of build automation as a jenkins slave for about 9 months now. Never skipped a beat. It just works and the thing is damn fast.<p>If it’s doing it offline it’s probably cheaper to buy one and chuck it in your office than borrow one from a cloud provider. The ass end ones are really really really cheap. Much cheaper than just the CPU in an equivalent server machine. If they blow up, just mill down to the apple store and buy another one.<p>Disclaimers of course: (1) it doesn’t have ECC RAM (2) it doesn’t have redundant power. We ignore (1) and solve (2) by running a prometheus node exporter on it and seeing if it disappears.
Someone1234over 3 years ago
No currently offered M1 Mini has redundant fail-over power or storage. Also, without knowing how your cloud provider has cooling setup it is unclear how well it will operate under heavy load for extended periods of time (blade servers are designed for that specific workload and have cooling solutions to match).<p>My point is: If your workload is time critical, and you cannot afford downtime&#x2F;outages then it may not be for you. If your workload can afford the time it would take to adopt a new M1 Mini when the old one dies, then maybe?
评论 #29460108 未加载
评论 #29459834 未加载
评论 #29459865 未加载
joshdevover 3 years ago
Have you considered looking at Amazon for their ARM offering (Graviton)? I&#x27;d be hesistant to use M1 minis for a production workflow as they are not really production grade (lacking ECC memory, not sure how long they are rated to run at high CPU, lack of user replaceable disks, no RAID, etc...).
svackoover 3 years ago
How do you actually compare performance&#x2F;bechmark the app - are you testing&#x2F;benchmarking both prod and dev directly on the box itself? I&#x27;m thinking, there might be other infrastructure shielding the production like load balancers, proxies and other involved (observability&#x2F;security tooling running and slowing the prod server) compared to accessing the dev on M1 directly..
crankyadminover 3 years ago
Knowing what the development language is as well would help a lot - but the first thing you want to do is get some instrumentation on both your 32 Core AMD box and your M1 and compare the two.<p>The M1 is very fast at doing certain things and your application may just be making good use of the M1 instruction set... both without knowing a bit more its difficult to tell.
krageonover 3 years ago
If you do not understand why your performance profile is as it is, how do you know next week&#x27;s patch won&#x27;t make it perform better on AMD machines suddenly? You should understand your problem before you solve it.
评论 #29459937 未加载
poulsbohemianover 3 years ago
&gt;our M1 is actually performing better performance wise<p>I did performance analysis work for a long span of my career. While I&#x27;m reading between the lines of what you wrote, my first question is - what do you mean by performing <i>better</i>? As in, is it somehow able to process more of these tasks over a given timeframe? If so, I&#x27;d want to understand more about the workloads you are running to make sure it&#x27;s a proper comparison.<p>There&#x27;s a whole lot more questions we need to answer here to understand the results you are seeing before we can have any kind of discussion of whether M1s would be &quot;better.&quot;
marbanover 3 years ago
I have one sitting on my desk that generates videos 24&#x2F;7 and hasn&#x27;t been down in a year.<p><a href="https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;VAxpGCL" rel="nofollow">https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;VAxpGCL</a>
nobbisover 3 years ago
We use MacStadium&#x27;s M1 mini servers for Metascan&#x27;s photogrammetry batch processing. They&#x27;ve only been running a few months, but no downtime yet and I&#x27;m impressed with MacStadium&#x27;s customer support, responsiveness, and price.
toast0over 3 years ago
Unless it&#x27;s changed recently, OS X has essentially no protection from synfloods. The TCP stack predates FreeBSD&#x27;s syncache, and it was never ported. It doesn&#x27;t have syncookies either. The pf port&#x27;s synproxy stuff doesn&#x27;t seem to work either.<p>You&#x27;ve got to put some sort of firewall or something in front, don&#x27;t let it accept tcp connections directly. You might be OK, but not great if you just set the listen queue really short; at least that should prevent the machine from falling over when it&#x27;s flooded, but without syncookies, chances are you won&#x27;t be able to make new connections either.
DarthNeboover 3 years ago
Feels like your provisioned disk or IOPS could be the missing factor instead of core counts.
评论 #29460721 未加载
gjsman-1000over 3 years ago
No - but I can give a few suggestions.<p>One would be to look, if you haven’t, at MacStadium and what they’ve got there. You can get an M1 Mini there and it will be run by experts who know all about using M1 minis for servers. Considering your application is highly parallelizable, this would also make it easy to upgrade to the M1 Pro with double the performance cores down the line.<p>Secondly, if your application is running better on M1, that reeks of an application which is somehow greatly benefiting at single-threaded performance somewhere, which the M1 excels and the Epyc is poor at. That probably needs some investigation.
errcorrectcodeover 3 years ago
Terrible idea. I supported a dozen Xserves back in the day. They were crap because they weren&#x27;t designed for production use. They used nonswappable, commodity retail IDE drives not meant for 100% duty cycle operation. Fixed power supplies. Real enterprise servers were cheaper.<p>Mac minis don&#x27;t have redundant power or ECC. You might as well run a bunch of RPis or PICs. Get yourself some real enterprise servers or rent some via a VPS.<p>Disclaimer: I use a Mac mini as my living room HTPC. I wouldn&#x27;t run anything real on it. That&#x27;s what I have a 96 thread EPYC virtualized box for.
caerilover 3 years ago
No personal experience other than a slightly different experience running production services (involving money!) on another box without ECC DRAM (to save money!) and experiencing random permission flags flips and actual balance&#x2F;amount flips. Only a small handful over many years, but it does happen, and when it matters, it REALLY matters.<p>My advice is to always use ECC DRAM in production unless you&#x27;re serving cat photos, porn, social media posts, or other societally useless applications. For anything that actually matters, please use ECC.
评论 #29463317 未加载
skw-hnover 3 years ago
Scaleway is also providing M1 mac minis. The price is around 0.10€&#x2F;hr which is quite cheaper.<p>As per the stability, my scaleway m1 has never had any issues. works just fine for some CI.
jagger27over 3 years ago
I&#x27;d be curious to know if your application scales even further onto an M1 Pro&#x2F;Max. If that&#x27;s the case, then something about Apple silicon makes your application scream.
throwaway4goodover 3 years ago
Mac OS X will require updates from time to time. Otherwise they will run 24&#x2F;7 with no problem. You can consider building a hybrid setup where you leave the stuff that requires no &#x2F; little downtime at your cloud provider.
maksimpiriyevover 3 years ago
I was thinking the same, as switching to M1 server,and also next version of M1 Mac minis will probably be x2 faster than the current one, so next year you buy mac mini will be double benefit :)
tyingqover 3 years ago
Have you tried using taskset or similar to force the production application onto fewer cores? Perhaps something about thread&#x2F;ipc&#x2F;locking overhead?
评论 #29460696 未加载
BizarroLandover 3 years ago
&quot;Dedicated instance&quot; makes me think it&#x27;s a cloud-based system. Are you actually getting what you&#x27;re paying for?
p_papageorgiouover 3 years ago
Any more details about the workload type of your application? Single threaded &#x2F; Multithreaded &#x2F; AI etc
Andysover 3 years ago
There are now 3 generations of AMD Epyc.<p>The latest is noticeably quicker than the older ones, and competitive with the M1.
awinter-pyover 3 years ago
can you describe the program? just broad strokes about language, framework, what kind of traffic it&#x27;s receiving?
评论 #29460676 未加载