홈
17 comments
drdrek26일 전
Postgres is such a cool project, I have so much respect for its maintainers and community! For me its the second most impactful OSS project in the business tech world behind Linux itself.
A real public good to be cherished and praised.
评论 #43926060 未加载
评论 #43924480 未加载
the847226일 전
On linux there also is preadv2(..., RWF_NOWAIT) which can be used to do optimistic non-blocking read from the page cache. That might be useful for io_method = worker to shave off a bit of latency. Try reading on the main thread with NOWAIT and only offload to a worker thread when that fails.
评论 #43918356 未加载
评论 #43918375 未加载
nu11ptr26일 전
Is this new async. I/O feature for Linux only?<p>I know Windows has IOCP and also now an IORing implementation of its own (Less familiar with macOS capabilities other than POSIX AIO).<p><a href="https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/" rel="nofollow">https://learn.microsoft.com/en-us/windows/win32/api/ioringap...</a><p>Update: Most of the comments below seem to be missing the fact that Windows now also has an IORing implementation, as I mentioned above. Comparison article here:<p><a href="https://windows-internals.com/ioring-vs-io_uring-a-comparison-of-windows-and-linux-implementations/" rel="nofollow">https://windows-internals.com/ioring-vs-io_uring-a-compariso...</a>
评论 #43922779 未加载
评论 #43917568 未加载
评论 #43917492 未加载
评论 #43917823 未加载
评论 #43924189 未加载
评论 #43917504 未加载
kev00926일 전
A lot of work has gone into FreeBSD's aio(4) so it will be interesting to see how that works, because it doesn't have the drawbacks of Linux/glibc aio.
评论 #43922657 未加载
评论 #43920420 未加载
skeptrune26일 전
How close is this to the way MySQL does it with InnoDB? It appears to be about the same.
评论 #43917736 未加载
Tostino26일 전
Thank you for the effort that went into getting this committed. I remember seeing the first discussions about async I/O (and using io_uring) like 6 or 7 years ago. Amazing amount of work to get the design right.<p>Looking forward to the other places that async I/O can be used in future Postgres releases now that the groundwork is done.
shayonj26일 전
Very nicely written post! I'd love to start running these in production on NVMe and hope its something major cloud providers start to offer ASAP. The performance gains are _extremely_ attractive
评论 #43927846 未加载
niux26일 전
I recently deployed Postgres on a dedicated Hetzner EX-44 server (20 cores, 64GB RAM, 2x 512GB NVMe SSDs in RAID 1) for €39/month. The price-to-performance ratio is exceptional, providing enterprise-level capacity at a fraction of typical cloud costs.<p>For security, I implemented TailScale which adds only ~5ms of latency while completely eliminating public network exposure - a worthwhile tradeoff for the significant security benefits.<p>My optimization approach includes:<p>- Workload-specific configuration generated via PGTune (<a href="https://pgtune.leopard.in.ua/" rel="nofollow">https://pgtune.leopard.in.ua/</a>)<p>- Real-time performance monitoring with PgHero for identifying bottlenecks<p>- Automated VACUUM ANALYZE operations scheduled via pgcron targeting write-heavy tables, which prevents performance degradation and helps me sleep soundly<p>- A custom CLI utility I built for ZSTD-compressed backups that achieves impressive compression ratios while maintaining high throughput, with automatic S3 uploading: <a href="https://github.com/overflowy/pgbackup">https://github.com/overflowy/pgbackup</a><p>This setup has been remarkably stable and performant, handling our workloads with substantial headroom for growth.
评论 #43917515 未加载
评论 #43917647 未加载
评论 #43917949 未加载
评论 #43923143 未加载
评论 #43921529 未加载
评论 #43926726 未加载
martinald26일 전
I sort of had to chuckle at the 20k IOPS AWS instance, given even a consumer $100-200 NVMe gives ~1million+ IOPS these days. I suspect now we have PCIe 5.0 NVMes this will go up to<p>I always do wonder how much "arbitrary" cloud limits on things like this cause so many issues. I'm sure that async IO is very helpful anyway, but I bet on a 1million IOPS NVMe it is nowhere near as important.<p>We're effectively optimising critical infrastructure tech for ~2010 hardware because that's when big cloud got going and there has been so few price reductions on things since then vs the underlying hardware costs.<p>Obviously a consumer NVMe is not "enterprise" but my point is we are 3+ orders of magnitude off performance on cheap consumer hardware vs very expensive 'enterprise' AWS/big cloud costs.
评论 #43918006 未加载
评论 #43917739 未加载
评论 #43917916 未加载
评论 #43918869 未加载
评论 #43919416 未加载
评论 #43917785 未加载
评论 #43917850 未加载
评论 #43917754 未加载
评论 #43919622 未加载
评论 #43917664 未加载
p_ing26일 전
Is io_uring still plagued by security issues enabled by it's use? Or have those largely been fixed? My understanding was many Linux admins (or even distros by default?) were disabling io_uring.
评论 #43918057 未加载
评论 #43920494 未加载
song26일 전
Are there good performance comparisons between postgres, mariadb and percona? I'm really curious at this point in which case each of those database shine.
评论 #43920487 未加载
评论 #43926291 未加载
pseudopersonal26일 전
Does anyone know when the update allowing more concurrent connections is dropping, so we can stop using pgbouncer?
评论 #43925317 未加载
评论 #43917829 未加载
评论 #43928551 未加载
rks40425일 전
I remember back in the day when mysql vs postgres was a real debate with mysql being the popular fave. Genuinely interesting to see that postgres eventually won.
cryptonector26일 전
I've been following the `AIO 2.5` thread on the PG mailing lists, and I've been salivating at the thought of this being released.
WhyNotHugo26일 전
It's pretty disappointing that simply using O_NONBLOCK doesn't work as expected on regular files. It would be such a simple and portable mechanism to do async I/O using the same interfaces that we already use for networking.
gitroom26일 전
insane how long it took postgres to get async i/o right - feels like all the big changes spark a million little tradeoffs, right? you think stuff like io_uring is finally gonna push postgres to catch up with the clouds