ホームページ > バックエンド開発 > PHPチュートリアル > PHPの最適化速度とファイルキャッシュの問題ですが、大きな影響はありますか?

PHPの最適化速度とファイルキャッシュの問題ですが、大きな影響はありますか?

WBOY
リリース: 2016-06-23 14:22:08
オリジナル
851 人が閲覧しました

キャッシュ最適化PHPデータ

条件が限られているためMemCacheはありませんが、「地域情報、各種ツリー分類、グローバルメニューリンク」などの情報をデータベースから直接取得すると多くの場所にあります。は本当に遅すぎるし、a ページ内のステートメントが多すぎるため、この種のデータはハードディスクに直接保存し、必要なときにハードディスクから直接読み込む方法が採用されています。

プロジェクトはほぼ完了しており、この方法が多くの場所で使用されているようです。Dare が正式に開始される時期です。読み込みが多すぎると直接クラッシュしてしまいますか?

この分野の経験のある方がいらっしゃいましたら、ご返信ください。現在、私のテスト速度はかなり速いですが、結局のところ、プレッシャーを通過していません。

ディスカッション (解決策) への返信

IO が耐えられるかどうかを確認するためのストレス テストを行うためのツールを自分で作成します。キャッシュを追加するだけで非常に高速に作成できます。

MemCache がない場合は、mysql を使用してメモリ テーブルを作成できます。または、mysql キャッシュを増やすこともできます。

最良のことはメモリを読み取ることです。つまり、キャッシュがメモリに配置されることです。具体的には、ls が言ったことと、ファイルがハードディスクに配置されることです。データベースを読み取るのと 50 ステップの違いのように感じます。と百歩譲ってハードディスクがボトルネックです

条件が限られているためMemCacheがないのですが、「地域情報、各種ツリー分類、グローバルメニューリンク」などの情報が遅すぎるところが多いです。データベースから直接取得するには

クエリとプログラムを最適化することが最善です。

私のアプローチを説明しましょう:
私のウェブサイトには巨大な分類テーブルがあり、この分類テーブルは複数のレベルに分かれており、各レベルにはこのカテゴリの下にニュース項目がいくつあるかが保存されています。カテゴリテーブルを再度読み込み、ニュースを追加するときにのみ呼び出される関数を作成しました。その機能は、各カテゴリにどれだけの数があるかを計算することです。計算が完了したら、カテゴリを再結合します。この方法では、配列を表示するときに、フロント デスクは php ファイルを取得して配列出力を走査する必要があるだけです。データベースを再読み込みします
つまり、データベース内のカテゴリを事前に読み込んで配列に統合し、表示するときにこの php ファイルを読み込む必要はありません。

プロジェクトはほぼ完了しています。この場合、コードに大きな変更を加えたくない場合は、サーバー クラスターが関与しない場合は、中間キャッシュ層を追加することができます。サーバー側の eAccelerator、apc、および xcache キャッシュ オペコードを有効にします。その場合、サーバー クラスターの場合は、リバース プロキシについて大騒ぎする必要があります

条件が限られているため、MemCache はありません。

この文はあまり明確ではありません。memcache はサーバーの高度な構成を必要としません。
また、現在のファイル読み取りの習慣に従って、jmeter を使用してストレス テストを実行できます。ストレス テスト用のツールは多数あります。
ioは今のところ問題ないですが、アクセスが増えるとやはりボトルネックになってしまいます。 。 。
どのように変更しても、現在の機能には影響しないため、大きな変更は行わないことをお勧めします。

初めて取り出すときにファイルに書き込んで保存し、再度読み取るときにファイルを直接読み取ることができます。データが変更された場合は、多くのフレームワークがこれを行います。メモリテーブルで十分です...

私は通常、データの内容を確認するためにファイルストレージとmemcacheを使用します

ローカルキャッシュにはjsを使用できます

mysqlクエリキャッシュを使用することをお勧めします。この方法は、使いやすさ、柔軟性、透明性が最も優れています。この要件、パフォーマンスはそれほど厳しいものである必要はありません。

私の意見では、memcache は 2 つのセッション (ページ) 間のデータ交換には適していますが、キャッシュには適していません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート