PostgreSQLの遅いコミットパフォーマンス
PostgreSQLの設定で問題が発生しています。いくつかのベンチマークの後、非常に単純なクエリには比較的長い時間がかかることがわかりました。詳しく調べたところ、実際のCOMMITコマンドは本当に遅いようです。 次の表を使用して、非常に簡単なテストを実行しました。 CREATE TABLE test ( id serial primary key, foo varchar(16), ); すべてのステートメントのログオンをオンにした後、次のクエリを10000回実行しました。 BEGIN; INSERT INTO test (a) VALUES ('bar'); COMMIT; BEGINとINSERTの完了には1ミリ秒未満かかりますが、COMMITの完了には平均22ミリ秒かかります。 自分のPCで同じベンチマークを実行すると、かなり遅くなりますが、BEGINステートメントとINSERTステートメントの平均は同じになりますが、平均COMMITは約0.4ミリ秒(20倍以上高速)です。 いくつか読んだ後、私はpg_test_fsyncツールを試して問題を突き止めようとしました。サーバーでこれらの結果を取得します。 $ ./pg_test_fsync -o 1024 1024 operations per test O_DIRECT supported on this platform for open_datasync and open_sync. Compare file sync methods using one 8kB write: …