PHP ページのページビュー統計は 1 秒あたり 200 の同時実行であり、挿入により mysql に多大な負荷がかかります
lnmp 環境では、他のページのコンテンツがキャッシュされるため、mysql に大きな負荷がかかるのはこのページビュー統計関数です。何か解決策はありますか?
MySQL では 1 秒あたり 200 の同時実行は難しくないと誰もが言います。また、Redis と Memcached に切り替えると、永続性は言うに及ばず、ビジネス コードと運用保守のデプロイの量も少なくありません。
いくつかの提案をさせていただきます。運用とメンテナンスの導入とビジネス コードの変更をできるだけ小さくするようにしてください。
マスターとスレーブの分離を行うことができます。多くの統計計算を実行しながら、ライブラリに対して同時実行性の高い挿入を実行しないでください。分離後、クエリはスレーブ データベースで実行され (または Hive などの特殊な分散システムにインポートされても)、挿入パフォーマンスを向上させるためにメイン データベースでインデックスを削除できます。この方法では、ビジネス コードをほとんど変更する必要はありません (データベース構成ファイルを変更するだけです)。 MySQL の運用とメンテナンスの導入は、業務の閑散期にオンラインで行うこともできます。
少量のビジネス コード (PHP) の変更を許容できる場合は、次の 2 つの提案があります:
1. データベースとテーブルを分割する。各テーブルのデータの総量が少なくなり、特にMyISAM テーブル。挿入する前に、この IP がデータベースに存在するかどうか、以前にカウントされたことがあるかどうかの確認など、いくつかのクエリが必要になる場合があります。
2. HandlerSocket プラグインを使用して SQL パーサーをバイパスし、保存されたファイルを直接操作します。ビジネスで可能であれば一括挿入も可能です。 MySQL InnoDB は、HandlerSocket と同様の InnoDB NoSQL プラグインも起動しました。これは、memcached プロトコルを使用し、InnoDB バッファを共有します。これまで、MySQL と Memcached がデータの一貫性をどのように維持していたのかを心配する必要はなくなりました。

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版
便利なJavaScript開発ツール
