I hope these sneak peeks are of interest…
PostgreSQL and Buffered I/O
PostgreSQL uses buffered I/O. If you want to test your storage subsystem capabilities with database physical I/O you have to get the OS page cache “out of the way”–unless you want to load really large test data sets.
Although pgio (the SLOB Method for PostgreSQL) is still in Beta, I’d like to show this example of the tool I provide for users to make a really large RAM system into an effectively smaller RAM system.
Linux Huge Pages
Memory allocated to huge pages is completely cordoned off unless a process allocates some IPC shared memory (shmget(1)). The pgio kit comes with a simple tools called pgio_reduce_free_memory.sh which leverages this quality of huge pages in order to draw down available memory so that one can test physical I/O with a database size that is quite smaller than the amount of physical memory in the database host.
The following picture shows an example of using pgio_reduce_free_memory.sh to draw set aside 443 gigabytes of available memory so as to leave only 32 gigabytes for OS page cache. As such, one can test a pgio database of, say, 64 gigabytes and generate a tremendous about of physical I/O.
I should think this little tool could be helpful for a lot of testing purposes beyond pgio.
is there a download location of pgio?
https://github.com/therealkevinc/pgio still seems to be empty
pgio is not GA yet. I’ll be releasing as Open Source under Apache2 within days. Finally.
Dear Kevin,
Is pgio available and where?
Thanks a lot