The pgio kit is the only authorized port of the SLOB Method for PostgreSQL. I’ve been handing out Beta kits to some folks already but I thought I’d get some blog posts underway in anticipation of users’ interest.
The following is part of the README.txt for pgio v0.9 (Beta). SLOB users will find it all easy to understand. This is the section of the README that discusses pgio.conf parameters:
UPDATE_PCT
The percentage of SQL that will be UPDATE DML
RUN_TIME
runit.sh run duration in seconds
NUM_SCHEMAS
pgio data is loaded into either a big single schema or multiple. NUM_SCHEMAS directs setup.sh to create and load NUM_SCHEMAS schemas.
NUM_THREADS
For setup.sh: This parameter controls the number of concurrent
data loading streams.
For runit.sh: This parameter controls how many sessions will attach to
each NUM_SCHEMAS schema.
For example, if NUM_SCHEMAS is set to 32 and NUM_THREADS is set
to 8, setup.sh will load data into 32 schemas in batches of
8 concurrent data loading streams. On the other hand, if set to the
same 32 and 8 respectively for NUM_SCHEMAS and NUM_THREADS then
runit.sh will run 8 sessions accessing each of the 32 schemas for a
total of 256 sessions.
WORK_UNIT
Controls the bounds of the BETWEEN clause for each SELECT statement as it executes. For example, if set to 255 each SELECT will visit 255 random blocks. Smaller values require more SQL executions to drive the same IOPS.
UPDATE_WORK_UNIT
The UPDATE DML corollary for WORK_UNIT. This allows for a mixed SELECT/UPDATE workload where SELECT statements can visit more blocks than UPDATES.
SCALE
The amount of data to load into each schema. Values can be N as a number of 8KB blocks or N modified with [MG] for megabytes or gigabytes. For example, if set to 1024 setup.sh will load 8MB ( 1024 * 8192 bytes) into each schema whereas set to 1024M will load 1024 megabytes into each schema.
DBNAME
The PostgreSQL database that holds the pgio objects
CONNECT_STRING
This parameter is passed to the psql command. The pgio kit expects that .pgpass and all other authentication is configured. For example, if CONNECT_STRING is set to “pg10” then the following command must succeed in your pgio environment:
$ psql pg10
CREATE_BASE_TABLE
The loader, setup.sh, creates a dense “seed” table as the source from which to load the test tables. This seed table persists after setup.sh exits. If this parameter is set to true the seed table will not be regenerated.
2 Responses to “Sneak Preview of pgio (The SLOB Method for PostgreSQL) Part I: The Beta pgio README File.”