長すぎます。 さまざまなコンピュータとクラウドサービスで実行されているXAMPP / Apacheサーバーのパフォーマンスをテストして比較するための最良かつ信頼できる方法は何ですか?高レベルの結果(さまざまなオプション間のパフォーマンス比較)が必要な場合は、ブラウザの応答時間を測定すれば十分ですか?それとも、より良いオプションがありますか?
使っていますマイクロソフトXAMPP4つのギアの3つのバージョン(PHP PHP 7.4、8.0、8.1を使用):
- 非常に古いWindows XPコンピュータ
- Windows 10がインストールされた古いPC
- 新しい超高速Windows 11 PC
- ラズベリーパイ3B+
また、Linux がインストールされた 12 年の NAS と、AWS、Digital Ocean、および OVH の複数のクラウド ソリューションで Apache サーバー(フル XAMPP ではない)を使用します。
同時に、パフォーマンステストに関してはまだ完全な初心者です。これらすべてのデバイスでWebサイトサービス/ APIリクエストの処理速度をテストするための最良の方法、最も有望な、または信頼できる方法は何ですか?
私が知る限り、そのようなテストの範囲や期待は非常に高いレベルです。私は自分自身を教えたいだけです:
- 与えられたハードウェアを使用することは(実際のコンピュータの文脈で)意味がありませんか?
- サービス設定/月額料金とWebサーバーのパフォーマンス(クラウドサービスの場合)との間に明確で読みやすい相関関係がありますか?
そのため、複雑な結果やレポート、数値を期待しません。さまざまなハードウェアおよびクラウドオプションで実行されているのと同じソフトウェア(一般的に使用)の結果を差別化/比較できるのは、1つ(またはそれ以上)です。
私はこのトピックの初心者なので、思い浮かぶ唯一のアイデアは、ブラウザから直接各要求を手動で呼び出し、ブラウザの開発ツールで報告された応答時間を測定することです。もっと良いものがありますか?
編集する:質問を明確にするため。ハードウェアをテストしたくありません。テストしたいこと:
- まったく同じソフトウェア(XAMPP / Apache httpd)
- 全く同じバージョン
- さまざまなハードウェア(またはクラウド)プラットフォームで実行
私は複数のWebアプリケーションの作成者です(しかし、私は開発者ではなく純粋に開発者であるため、この質問をします)。これらはすべて純粋に内部(イントラネット)であり、まったく公開されていません。彼らはすべて:
- まったく同じプラットフォーム(XAMPP)を使用して同じバージョンで利用できます。
- 同じ言語(PHP)、フレームワーク(Yii 2)、およびバージョンを使用して開発されました
- 同じチームによって開発され、同じコーディング原則を使用します。
上記に基づいて異なるWebアプリケーションであっても、違いはほとんど純粋にビジネス(機能的)なので、パフォーマンスは訪問者数やサービスに使用されるハードウェアと密接に関連していると仮定できます(そうですか?)。関連。
これらのアプリの中には1日3〜5人がアクセス/使用し、一部は1時間あたり50人(最大)アクセス/使用します。さまざまなギアでXAMPPのパフォーマンスをテストする独自のソリューションで、次のような私の質問に答えたいと思います。
- 非常に古いPCでは、XYZアプリケーションを提供するのに十分ですか(1日に3〜5人の訪問者)、または使用するのは無意味ですか?
- 1時間あたり最大25回の訪問が可能なABCアプリケーションのセカンダリ(バックアップ)サーバーとして、新しいノートブックを使用できますか?それとも、このハードウェアでは十分ではありませんか?
私の質問を見て、言葉にならなかった場合は申し訳ありません。しかし、私は環境に興味がある人で、そうしたいと思います。ほぼすべて古いハードウェアに2番目の人生、2番目のチャンス、または2番目のミッションを与えます。それを捨てることが私が考慮した最後のシナリオでした。だからこんな問題があります。
答え1
しかし、私は環境専門家であり、古いハードウェアに2番目の命、2番目のチャンス、2番目の使命を与えるためにほぼすべてのことをします。
これは優れていますが、古いハードウェアは消費電力が非常に厳しく、独自のサーバーをローカルで実行することは、自分のワークロード専用のサーバー全体を実行することを意味します。サーバーをほとんど使用しなくても、サーバーの消費電力を他の誰も共有しません!
この点を考慮する必要があります。私たちがやろう
非常に古いWindows XPコンピュータ
アイドル状態での電力はおそらく20-30Wです。完全に使用すると、200W(?)を消費できます。本当に状況によって異なります!購入エネルギーメーター、アイドル期間、実際のユースケースをシミュレートするワークロード中にハードウェアがどのように使用されるかを計算します。
あなたはカバー画像を自動的にインポートし、本を検索し、本を挿入する図書館管理ツールなどのサービスを提供する人です。したがって、これらの一般的なワークロードをトリガーするエンドポイントを作成してください。 (時間がどれくらいかかるかによって)、数百から数千回トリガーし、手にかかる時間を測定し、それを関連付けます。
特定のハードウェアが特定のワークロードを満たすのにかかる時間と1年間にどのくらいの電力を消費するかを評価するように設定できるのは、自分だけです。
これはスプレッドシートの仕事になります!年間コンピューティングハードウェアを使用する時間(または予想される残りの実行時間)を一覧表示するスプレッドシートを作成します。その期間中に提供するワークロードの量について、より低い、高い、最も可能性の高い見積もりを作成してこれを実行します。ワークロードとは、上記で直接作成したベンチマークでシミュレートした単位を意味します。ベンチマークが10,000のシミュレートされたユーザーインタラクションを提供して完了するのに20分かかります。快適に座って頭を掻き取り(または配布サーバーに関する統計を読むのがより良い)、ユーザーは年間200,000〜2,000,000の要求をすると推定し、最良の推測は500,000です。つまり、200,000/10,000・20分=400分~=年間6.67時間、2,000,000/10,000・20分=4000分=66.7時間の努力となります。 1年は8760分です。これで、システムが「アイドル」電源を使用した時間と「フル」電源を使用した時間がわかります。
時間単位の例:
機械: 古いコンピュータ
- アイドル電力: 20W
- 働く電力: 200W
- リクエスト10,000件あたりの時間:0.33時間
- シーン:
- 低負荷(年間要求200,000件)
- 6.67時間動作・200W = 1.33kWh
- アイドル時間 8753.33時間・20W = 175kWh
- 合計: 176kWh
- 高負荷(年間要求2,000,000件)
- 66.7時間動作・200W = 13.3kWh
- アイドル時間 8693.3時間・20W = 173kWh
- 合計: 186.3kWh
- 低負荷(年間要求200,000件)
マシン:超高速PC
- アイドル電力:15W(最新のPCはアイドル状態でより良いです!)
- 働く電力: 500W
- リクエスト10,000件あたりの時間:0.006時間
- シーン:
- 低負荷(年間要求200,000件)
- 0.0667 動作時間・500W = 0.03kWh
- アイドル時間8670時間・15W = 130kWh
- 総:130kWh…
- 低負荷(年間要求200,000件)
クラウドプロバイダーは、ワークロードがどのくらいの電力を消費しているかを知ることができません。かかる時間だけベンチマークできます。しかし、これは前提です。 「私が支払ったよりも多くの電気を使用しません。できません。」あなたのモデルになろう!
私はできます。非常に必要なワークロードを処理するために古いPCを実行することを好んでも驚かないでください。