Understanding the practical implications and performance
In this chapter, we have already talked about practical implications as well as performance implications. But what good is a theoretical example? Let's do a simple benchmark and see how replication behaves. We are performing this kind of testing to show you that various levels of durability are not just a minor topic; they are the key to performance.
Let's assume a simple test: in the following scenario, we have connected two equally powerful machines (3 GHz, 8 GB RAM) over a 1 Gbit network. The two machines are next to each other. To demonstrate the impact of synchronous replication, we have left shared_buffers
and all other memory parameters as default, and only changed fsync
to off
to make sure that the effect of disk wait is reduced to practically zero.
The test is simple: we use a one-column table with only one integer field and 10,000 single transactions consisting of just one INSERT
statement:
INSERT INTO t_test VALUES (1);
We can...