3

事前定義された電子メール メッセージを読み込んで送信しようとしています -- 私の質問は、電子メール メッセージに変数を含むファイルを含めるだけでなく、すべての電子メール メッセージを memcache にすべきで、1 日に 1 回だけ呼び出す必要があるかどうかです。 ?

4

2 に答える 2

5

Memcache は、個別のプロセス / リクエストでの大量の読み取りに便利です。多数の異なるプロセスで送信していますか、それともバッチで送信していますか? 後者の場合は、memcache を忘れてください。

ローカル インクルードは非常に高速であり、ファイルに頻繁にアクセスしている場合、OS はファイルをキャッシュしてメモリから効果的に読み取ります。テストせずに判断する方法はありませんが、最大の速度向上は、ファイルをオペコード キャッシュ (たとえば APC): ネイティブ フォーマットとメモリ内に置くことだと思います。

もう一度言いますが、ファイル インクルードがコードのボトルネックになっているとしたら、特にメールの場合は驚くでしょう。最適化ルール #1 に注意してください: 存在しないパフォーマンスの問題を解決しないでください。

于 2010-06-04T22:45:37.980 に答える
2

ええと、それは答えるのが非常に難しい質問です。危機に瀕している変数はたくさんあります。

このデータに対するリクエストは多いですか (多いとは、1 秒あたり 1 つまたは 2 つ以上のことを意味します)? その場合、Memcacheはポイントを獲得します...

ドライブは高性能ですか (SCSI または SAS、RAID 0 または 10)? もしそうなら、ファイルはポイントを得るかもしれません.

あなたはたくさんのRAMを持っていますか?その場合、OS はより多くのファイル データをキャッシュできるため、ファイルに必要なドライブ アクティビティは少なくなります。

これらの事前定義されたメッセージがたくさんありますか? もしそうなら、Memcacheのインデックスが違いを生むかもしれません...

Memcache サーバーは localhost のみですか? そうでない場合、Memcache はネットワーク レイテンシのポイントを失います。

要点はこれです。大量のルックアップ (1 秒あたりの回数) を行っていない限り、どちらも同じくらい高速です (理由の範囲内で、10 ~ 20 ミリ秒未満)。個人的には、1 秒間に約 10 回以上の EMAIL ルックアップを行っていない限り、ファイル メソッドを使用してください。メンテナンスが容易になり (再起動が必要な場合に Memcache を更新することを心配する必要がなくなります)、デバッグも容易になります。覚えておいてください:シンプルにしてください...

于 2010-06-04T22:47:35.150 に答える