Thread: IO scheduler vs PostgreSQL performance measurement
Dear PostgreSQL hackers, I am developing a disk IO scheduler for Linux and am aiming to have it included in the stable 2.6 release. Due to its design, performance regressions do appear, and are often more specific to the workload in question than with other schedulers, hence one has to go beyond the generic benchmarks. Databases are one area of difficulty due to multi threaded IO and sync writes. I would appreciate it if you could give me a suggestion for a not-too-difficult to set up or interpret PostgreSQL benchmark with a reasonable running time (< an hour or so) which I can add to my performance regression tests. It would be good if this were to separately measure most common types of PostgreSQL IO work, and from there I would leave specific areas to those interested. I apologise for asking when I could search, however I am interested in something up to date and which developers on this can agree on. Thank you all for your time. Best regards, Nick Piggin
Hi, > I would appreciate it if you could give me a suggestion > for a not-too-difficult to set up or interpret PostgreSQL > benchmark with a reasonable running time (< an hour or so) > which I can add to my performance regression tests. Check out `make check', a regression test which ships with Postgres, and pgbench, a TPC-like benchmark, in contrib/. Gavin
Gavin Sherry wrote: >Hi, > > > >>I would appreciate it if you could give me a suggestion >>for a not-too-difficult to set up or interpret PostgreSQL >>benchmark with a reasonable running time (< an hour or so) >>which I can add to my performance regression tests. >> >> > >Check out `make check', a regression test which ships with Postgres, and >pgbench, a TPC-like benchmark, in contrib/. > > Great, thank you.
On Mon, 17 Mar 2003, Nick Piggin wrote: > Dear PostgreSQL hackers, > I am developing a disk IO scheduler for Linux and am aiming to > have it included in the stable 2.6 release. Due to its design, > performance regressions do appear, and are often more specific > to the workload in question than with other schedulers, hence > one has to go beyond the generic benchmarks. > > Databases are one area of difficulty due to multi threaded IO > and sync writes. > > I would appreciate it if you could give me a suggestion > for a not-too-difficult to set up or interpret PostgreSQL > benchmark with a reasonable running time (< an hour or so) > which I can add to my performance regression tests. > > It would be good if this were to separately measure most > common types of PostgreSQL IO work, and from there I would > leave specific areas to those interested. > > I apologise for asking when I could search, however I am > interested in something up to date and which developers on > this can agree on. For quick and dirty testing under high parallel load, you can use pgbench, which comes with postgres. cd /usr/local/src/postgresql-7.3.x/contrib/pgbench make make install pgbench -i pgbench -c 4 -t 100 For more intense testing, look at OSDB the Open Source database benchmark suite: http://osdb.sourceforge.net/
scott.marlowe wrote: >On Mon, 17 Mar 2003, Nick Piggin wrote: > > >>Dear PostgreSQL hackers, >>I am developing a disk IO scheduler for Linux and am aiming to >>have it included in the stable 2.6 release. Due to its design, >>performance regressions do appear, and are often more specific >>to the workload in question than with other schedulers, hence >>one has to go beyond the generic benchmarks. >> >>Databases are one area of difficulty due to multi threaded IO >>and sync writes. >> >>I would appreciate it if you could give me a suggestion >>for a not-too-difficult to set up or interpret PostgreSQL >>benchmark with a reasonable running time (< an hour or so) >>which I can add to my performance regression tests. >> >>It would be good if this were to separately measure most >>common types of PostgreSQL IO work, and from there I would >>leave specific areas to those interested. >> >>I apologise for asking when I could search, however I am >>interested in something up to date and which developers on >>this can agree on. >> > >For quick and dirty testing under high parallel load, you can use pgbench, >which comes with postgres. > >cd /usr/local/src/postgresql-7.3.x/contrib/pgbench >make >make install >pgbench -i >pgbench -c 4 -t 100 > >For more intense testing, look at OSDB the Open Source database benchmark >suite: > >http://osdb.sourceforge.net/ > > > Thanks for the references. I'll do a few pgbench runs today comparing different schedulers so I'll CC you the results if you like.