ホームページ > バックエンド開発 > PHPチュートリアル > 運用とメンテナンスはもはや火を消す専門家ではありません。PHP を知らなくても、コードのパフォーマンスの問題が見つかる可能性があります。

運用とメンテナンスはもはや火を消す専門家ではありません。PHP を知らなくても、コードのパフォーマンスの問題が見つかる可能性があります。

WBOY
リリース: 2016-06-23 13:20:13
オリジナル
873 人が閲覧しました

インターネットで働く SA (運用保守) の人々は、常に自分たちの職業の困難を嘆いています。なぜですか?言っておきますが、アプリのクラッシュ、Web サイトが開けない、Web サイト 502、検索の遅さ、アプリケーションの遅延などはすべて、運用と保守の担当者、プロジェクト マネージャー、上司などが運用と保守を取り囲んで、どのように対処するかを検討します。火災。運用や保守によっては、テクノロジーの不足、準備不足、サーバーの最適化不足など、さまざまな方法で批判されることさえあります。何千ものプロジェクトに直面しているのに、研究開発では常にバグが発生するのに、運用とメンテナンスでは常に火消しや不当な扱いが行われるのはなぜでしょうか。

問題の特定

障害が発生すると、通常、最初にログを確認し、ログ分析を通じて特定のサーバーとプロジェクトを特定し、次に特定のプロジェクトに範囲を絞り込みます。問題を解決し、修復します。

緊急消火、運用、保守が行われるたびに、次のような疑問が常に生じます。なぜ問題を事前に発見できないのか?運用と保守/開発が問題を事前に検出して排除できるツールはありますか? または、オンライン システムで障害が発生したときに迅速に特定して安定化できるツールはありますか?従来の方法でコードの問題を特定するのは非常に非効率的であり、技術スタッフのビジネスへの精通度や個人の技術能力も試されることを誰もが認識する必要があります。

解決策

私は日々の仕事の中で、システムに特定の問題が発生したり、時々問題が発生したりしたときに、原因を見つける方法をよく尋ねられますが、解決策を示すだけでなく、私は常に「APM を試してみてください、それが役立ちます」と伝えています。問題をすぐに発見し、原因を特定します。今日は、中国で純粋に独自に開発された APM 製品、Xuanshibao を SA に紹介したいと思います。

パースペクティブ機能

APMとは、Application Performance Management(アプリケーション・パフォーマンス・マネジメント)の略称で、ITシステムをコードレベルでリアルタイムに監視・分析することで、システム運用のボトルネックを即座に発見し、アラームや早期警告を提供することができます。運用、保守、開発を支援します。システムの問題を迅速に特定します。 Perspective Treasure には、APM (アプリケーション パフォーマンス管理)、モバイル、ブラウザ、ホストの 4 つの機能が含まれています:

Perspective Treasure のインストール

Perspective Treasure のインストールは比較的簡単で、Perspective Treasure の公式ドキュメントも非常に明確です。

ドキュメントを直接お読みください: http://portal.toushibao.com/app/create

Zhuozhubao ホスト管理

スマート エージェントをインストールした後、Zhuozhubao のバックエンドにログインすると、新しく追加されたホストが表示されます。

今日のテーマは「ホスト」ではないので、ホストの基本的な監視について簡単に説明します。

サーバー CPU、メモリ、プロセス、ネットワーク カード、TCP 監視項目はすべて利用可能です。これらの基本的な監視で満足できるのであれば、Zabbix などの使いにくいオープンソースの監視製品は完全に諦めることができます。監視効果を見てみましょう:

Perspective APM

Perspective APM は現在、Java、PHP、Python、.Net の 4 つの主流言語でのコード パフォーマンス監視をサポートしています。PHP 監視では、すでに PHP7 の最新公式バージョンがサポートされています。 main APM のパワーを体験するには、PHP を例として取り上げます。

注: 当初は ttlsa.com を使用して体験する予定でしたが、さまざまな理由により、最終的には別のテスト サイトに変更しましたが、PHP のパフォーマンスの問題を追跡する方法は変わりません。これは、コードのパフォーマンスの問題を見つけるのに役立ちます。

アプリケーションをクリックして、追跡する必要があるドメイン名を選択し、リクエスト、データベース、エラーの 3 つの項目を使用して、PHP パフォーマンスの問題がどこにあるのかを見つけます

APM リクエスト

まず、遅いおよび非常に遅いことに焦点を当てた概要図 遅さやエラーの割合が高い場合は、真剣に受け止める必要があります。

通常: 2000 ミリ秒

Perspective Bao は、すべてのリクエスト URL と、その URI に対応するリクエストの応答時間および数をリストします。

応答時間で並べ替え、応答時間が長い URL をクリックすると、次のレコードが右側に表示されます

追跡するレコードをクリックすると、リクエスト全体を処理する TOP5 メソッドが表示されますコードを追跡し、リクエストのパラメーター、SQL ステートメント、およびその時点での環境の最も現実的な復元を取得できます。

  • 概要図

  • 追跡の詳細

これは非常に重要であり、関数/メソッドに時間がかかるほど (MS) パフォーマンスが低下します。 これにより、基本的にパフォーマンスの問題コードが特定されます。対応するメソッドのスクリーンショットを撮り、研究開発部に送信してください。見つかりましたか?コードを理解していなくても、PHP パフォーマンス コードをキャプチャすることもできます。

  • リクエストパラメータ

現在のリクエストパラメータを使用してシーンを最も現実的に復元します

  • SQL ステートメント

遅い応答リクエストは、部分的には不適切なコード記述によって引き起こされ、部分的には非効率的な遅さによって引き起こされます。 SQLによる。 Perspective Bao はリクエストに含まれるすべての SQL ステートメントを追跡できるため、SQL の問題を迅速に特定し、最適化のために R&D/DBA に送信できます。

APMのデータベース

Zhunzhuabao APMは、「リクエスト」を通じて、パフォーマンスの悪いコードやパフォーマンスの低い遅いSQLを見つけることができます。 Perspective Bao は、「データベース」を通じてパフォーマンスが低く遅い SQL を検索し、遅い SQL に対応するリクエストを見つけることができます。 DBA は「データベース」セクションを頻繁に参照し、遅い SQL を定期的に最適化することをお勧めします。

Zhuozhuabao は非常に明確で理解しやすい SQL パフォーマンス チャートを提供し、開発者が SQL 操作の応答時間 (TOPS)、スループット (選択、削除、挿入、更新を含む) などの現在の SQL 使用状況を明確に理解できるようにします

Zhunzhuabao は、すべての SQL 操作をリストし、平均応答時間に従って並べ替え、解決する必要がある SQL レコードを選択し、対応するリクエストと対応する遅い SQL ステートメントを受け取るインターフェイス/ページを見つけます。

遅い SQL 追跡

APM エラー

リクエストやデータベースを通じて問題を見つけることに加えて、「エラー」にも常に注意を払う必要があります。

付録: PivotPlug-in

SendProxy、Discover、および OSAgent プラグインは、スマート エージェントのデフォルトの基本プラグインです 現在、スマート エージェントによって提供されているプラ​​グインは次の表のとおりです。

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