If you have not amended any Postgres config parameters, then you'll get checkpoints approx every 5 min or so. Thus using a Pgbench run time of 5min is going sometimes miss/sometimes hit a checkpoint in progress - which will hugely impact test results.

I tend to do Pgbench runs of about 2x checkpoint_timeout - (i.e 10 min for default configurations). Also for increased repeatability, I do a manually triggered checkpoint immediately before each run.

regards

Mark

On 13/12/18 1:53 AM, Mariel Cherkassky wrote:
Hey,
I installed a new postgres 9.6 on both of my machines. I'm trying to measure the differences between the performances in each machine but it seems that the results arent accurate.
I did 2 tests :

1)In the first test the scale was set to 100 :
pgbench -i -s 100 -U postgres -d bench -h machine_name
pgbench -U postgres -d bench  -h machine_name -j 2 -c 16 -T 300
RUN        TPS - machine1       TPS-machine2
1       697     555
2       732     861
3       784     842

        
        


2)In this test the scale was set to 10000 :
pgbench -i -s 10000 -U postgres -d bench -h machine_name
pgbench -U postgres -d bench --progress=30 -h machine_name -j 2 -c 16 -T 300
RUN     TPS-MACHINE1    TPS-MACHINE2
1       103     60
2       63      66
3       74      83
4       56      61
5       75      53
6       73      60
7       62      53


In both cases after the initalization I restarted the database and cleared the cashe(echo 1 > /proc/sys/vm/drop_caches) one time. During all the runs I didnt shutdown the machine.

Now, I was hopping the the tps will be almost the same in each machine for all the runs. In other words, I wanted to see that the tps in machine1 during all the tps are almost the same but I see that the values arent accurate.

Any idea what might cause the differences in every run ?

Reply via email to