2011-07-12 8 views
1

かなり大きなサイズのスフィンクスショップを維持しています。約330万レコード。我々はまた、4つのサーバ上にかなりよく分散されたmemcachedベースセットを維持します。スフィンクスの結果をMemcaching - 良いアイデアか悪いアイデア?

memcachedにさまざまなクエリのためにスフィンクスの結果を格納することをお勧めします。これは実装が簡単です。

これはやや広範な質問かもしれませんが、一般的なアイデアですか?

また、memcached接続は、常にスフィンクスにアクセスするスクリプトで行われます。総接続時間(sphinx + memcached対memcached)を向上させることができました。 Memcachedヒットにならないすべてのクエリは、memcachedへの書き込みを送信する必要があります。

今後の使用のために、スフィンクスの結果をmemcachedに保存することをお勧めしますか?

ありがとうございます!

答えて

2

これは状況やニーズによって異なります。あなたのプロジェクトでは、memcacheがスフィンクスの検索結果をキャッシュするのと同じアーキテクチャを採用しました。しかし、一般に、私たちのプロジェクトでは、検索クエリの結果が既にキャッシュに入っている必要がありました。これは、クエリの種類が多岐にわたっているため、すべてのクエリの約10%であり、memcacheに長期間のデータ格納を保証するものではありませんでした。さらに、スフィンクスは通常、非常に高速に検索します。そこで、検索でキャッシュを使用しないことにしました。 したがって、テストを行う必要があります。彼らはあなたに伝えます。

+0

スフィンクスの結果をキャッシュすることを選択しました。スフィンクスの結果を提供していたすべてのボックスに負荷が大幅に低下しました。一般的に、縫い目はより滑らかに走ります。 –

関連する問題