Digital Ocean の 8GB RAM/4 CPU/80GB SSD クラウド サーバーで PostgreSQL をテストしています。私はもともと、postgresql.conf のデフォルト設定で PgBench を実行し、8 GB の RAM を反映するためにいくつかの一般的な設定 (shared_buffers、work_mem、maintenance_work_mem、effective_cache_size) を変更しました。2 番目のテスト セットを実行した後、一部の結果が実際には悪化していることに気付きました。なぜこれが考えられるのかについて何か提案はありますか? 私は PgBench と一般的な PostgreSQL のチューニングにはかなり慣れていません。
設定:
- 共有バッファ = 2048MB
- work_mem = 68MB
- メンテナンス_作業_メモリ = 1024MB
- effective_cache_size = 4096mb
テスト:
- pgbench -i -s 100
- pgbench -c 16 -j 2 -T 60 -U postgres postgres
- pgbench -S -c 16 -j 2 -T 60 -U postgres postgres
- pgbench -c 16 -j 4 -T 60 -U postgres postgres
- pgbench -S -c 16 -j 4 -T 60 -U postgres postgres
- pgbench -c 16 -j 8 -T 60 -U postgres postgres
- pgbench -S -c 16 -j 8 -T 60 -U postgres postgres
これらのテストはどの程度効果がありますか? これは PgBench を使用する効果的な方法ですか? データとサーバー インスタンスを適切に反映するには、テストをどのようにカスタマイズすればよいですか?