カサンドラの速度に関するこれらの記事をすべて読みました。たとえば、単一行の読み取りには約5ミリ秒かかります。
これまでのところ、私は自分のウェブサイトの速度についてあまり気にしていませんでしたが、サイトが大きくなるにつれて、一部のページでかなりの数のクエリが必要になり始めました。たとえば、1 つのページで 5 つの異なるテーブルと約 50 の異なる行を読み取る必要があるため、 0.7 秒から 2.0 秒かかり、非常に遅いことに気付きました。
私がテストしているテーブルはほとんど空なので、サイズは問題になりません。APCをインストールしましたが、役に立ちませんでした。
私はPHPCassaを使用しており、thrift にはこのライブラリが付属しています。
これらの速度は正常ですか?おそらくphpは十分に高速ではありませんか? この状況を改善するにはどうすればよいでしょうか?
非常に多くのクエリを実行するのは大変であり、cassandra は読み取りではなく書き込み用に最適化されていることを理解していますが、状況によっては、データを単一のテーブル/行に配置する方法が見つからないことがあります。
編集パフォーマンスを向上させるオプションのC拡張機能について知りましたが、実際にはそうです。現在、単一行の読み取りには50ミリ秒から100ミリ秒かかるため、これは大きな改善です。これらの5ミリ秒からはまだ遠いです
EDIT2私の質問を詳細に更新して申し訳ありませんが、私は非常に忙しく、実際にこの問題を解決しました。現在、4つの異なるテーブルからの10行の読み取りに0.073158 s
はちょうど時間がかかり、平均読み取り時間は0.005575 s
私が期待していたよりもはるかに長いです達成する。同じ問題に直面している人には、次のことをお勧めします。
- オプションの C 拡張機能をインストールします。その手順については、こちらを参照してください。
- APCをインストールする
- 適切な Java バージョンがインストールされていることを確認してください。これにより速度が低下する可能性があります
- これらすべてをインストールした後、Apacheを再起動するだけでなく、サーバー全体を再起動します。最初はそうしませんでした。サーバーの再起動後にのみ、この大幅な速度の向上に気づきました