0

だから私はデータベース駆動型のウェブサイトをスピードアップしようとしています.memcachedに出くわしました.memcachedは、メモリ内のデータベースから頻繁にキー/値を「キャッシュ」するために使用できるようです。私の質問は、通常、サーバーが他のアプリケーションを実行している場合、memcached ハッシュテーブル (またはその一部) がハードディスクに書き戻される可能性があるため、データを強制的にメモリに残す方法です。別のアプリケーションからのページは、memcached からのページを置き換えます。業界では、memcached のみを実行する別のマシンがありますか? または、memcached からのページがスワップアウトされないように、オペレーティング システムの内部を微調整しますか?

この問題は、他のアプリケーションにも一般化できます。データを強制的にメモリに保持する方法を知ることは非常に有益です。

4

2 に答える 2

2

By default memcached pages will be swapped out to the hard disk if your machine is using more physical memory than it has available. You can specify the -k parameter however to specify that the pages memcached is using be locked into physical memory with mlockall(). See this blog post for more information on how to do this.

http://threebrothers.org/brendan/blog/using-memcached-k-prevent-paging/

于 2013-02-09T19:11:48.107 に答える
0

OSライターは、何年にもわたってページング用の優れたアルゴリズムを作成してきました。時の試練に耐えてきたアルゴ。ページングアルゴリズムは、スワップアウトするページを最適化しようとします。

「データを強制的にメモリに保持することは非常に有益です」-それについては確かですか?1時間使用されなかったデータのページではなく、Apacheコードをスワップアウトしたいですか?Apacheがスワップアウトした場合、誰がそのデータを使用しますか?

ネイティブOSのページングアルゴリズムに勝るものを設計することは困難です。実行できますが、通常は1つのプログラムのメモリをロックするだけでは不十分です。

マシンがページングを使用しないように、memcacheサイズを適切に設定することをお勧めします。

多くの人が行っているように、システム上でのみmemcacheを実行する場合、-kスイッチをいじる必要はあまりありません。または、そのマシンをswap=0に設定できます。

于 2013-03-13T03:23:43.567 に答える