4

HerokuにWebアプリがあり、1GBのRAMを備えたMemcachedインスタンスを追加することとPostgresサーバーに1GBのRAMを追加することの違い/トレードオフを理解しようとしています。

Memcachedインスタンスを追加した場合、おそらくJohnny Cacheを使用します(Djangoの場合-http ://packages.python.org/johnny-cache/)。

2つのオプションから同様のパフォーマンスの向上を期待する必要がありますか?一般に、memcacheを使用することと、Postgresキャッシュのサイズを増やすことの利点は何ですか。(私は、人々がDBサーバー上でmemcacheを実行することが多いことを理解しているので、1つ存在する必要があります)。

これはおそらく非常に素朴な質問だと思いますが、Googleを通じて混乱を解消するための何かを見つけることができませんでした。

4

1 に答える 1

1

最高のパフォーマンスを得るには、Postgresには、最も頻繁に使用されるオブジェクト(インデックス、テーブル)を保持するのに十分なキャッシュが必要です。したがって、shared_buffersの設定には転換点があります。その後、共有バッファを増やしてもあまり役に立ちません。

RAMの一部をファイルシステムレベルのキャッシュ用に残すことをお勧めします。

詳細については、http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Serverを参照してください。

memcacheに関しては、まったく別の獣です...アプリケーションから直接使用して、超高速の非永続的なKey-Valueストレージを使用できます。

3つの特性すべてにより、memcachedはリレーショナルデータベース(RDB)とは異なります。

  • 超高速(RDBはそうではありません)
  • 非永続的(RDBは)
  • Key-Valueのみ(RDBの方がはるかに優れています)
于 2012-10-19T17:05:44.267 に答える