Node+Express テストサーバーのパフォーマンス

Node+Express テストサーバーのパフォーマンス

1 テスト環境

1.1 サーバーハードウェア

テスト対象のホストはAWSクラウドサーバーです。2つのテストが選択されています

1.1.1 t2.マイクロ

t2.micro は画期的なパフォーマンスを誇る EC2 で、AWS グローバル無料パッケージのサーバーです。構成は以下のとおりです。

t2.micro は画期的なパフォーマンスを誇る EC2 で、AWS グローバル無料パッケージのサーバーです。構成は以下のとおりです。

モデル仮想CPU電子制御ユニットメモリストレージネットワークパフォーマンス料金(時間)
t2.マイクロ1変数1 EBSのみ低〜中0.0945

シングルコア 1G、CPU パフォーマンスは 0.45ECU で、パフォーマンスが向上すると 2ECU に到達できます。ネットワーク性能は20Mbps~100Mbpsと言われている

PS: EC2 コンピューティング ユニット (ECU) – 1 つの EC2 コンピューティング ユニット (ECU) は、1.0~1.2 GHz の 2007 Opteron または 2007 Xeon CPU の計算能力に相当します。

1.1.2 c5.large

次に、評価用に c5.large を選択しました。

モデル仮想CPU電子制御ユニットメモリストレージネットワークパフォーマンス価格
c5.大2 9 4 EBSのみ最大10Gb 0.493

デュアルコア4G、パフォーマンスは9ECUに達する

1.1.3 プレス

プレス機は同じアベイラビリティゾーンにある別の c5.large です。

1.2 テストツール

1.2.1 テスト端末

ab ツールは主にテストに使用されます。 ab ツールは最大 2 億を同時に実行できるため、単一マシンのテストには十分です。

腹筋ツールの使い方については、別のブログを参照してください:https://www.jb51.net/article/231502.htm

1.2.2 サーバー監視

サーバー側の監視は主に AWS バックエンドの cloudwatch サービスを使用し、CPU とメモリの使用量はトップツールでチェックされます。

top コマンドの使い方については、別のブログを参照してください。

1.3 試験方法

Express フレームワークの app.js にテスト ルートを直接追加し、res.end() を直接返します。

2 テストデータ

2.1 c5.ラージ

図から、同時実行数が 2000 の場合、平均応答時間は 874.725 ミリ秒、QPS は約 2286.43 であることがわかります。月間 300 を超える 2 コア 4G サーバーでは、Express フレームワーク自体のパフォーマンスは悪くありません。

2.2 t2.マイクロ

図から、同時実行数が 300 の場合、平均応答時間は 189.191 ミリ秒、QPS は約 1585.7 であり、70 ブロック/月の T2 のパフォーマンスはかなり良好であることがわかります。ただし、同時実行数が 1000 に達すると、全体的なパフォーマンスがあまり安定しないことも図からわかります。

3 関連文書

IoT デバイスの同時接続数を推定するブログ:

https://www.jb51.net/article/231516.htm

ストレステストツールab:

https://www.jb51.net/article/231502.htm

ストレステストの指標と方法:

https://www.jb51.net/article/231518.htm

以上が、node+Express を使用してサーバーのパフォーマンスをテストする方法の編集者による紹介です。皆様のお役に立てれば幸いです。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • VPSサーバーでよく使われるパフォーマンステストスクリプトの概要
  • Nginx サーバーでパフォーマンス テストを実行するための Go プログラムの書き方

<<:  MySQL で CURRENT_TIMESTAMP を使用する方法

>>:  JS ベースのページフローティングボックスを実装するためのサンプルコード

推薦する

Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...

グリッドはページのレイアウトプランです

<br /> 英語原文: http://desktoppub.about.com/od/...

HTML コード作成ガイド

共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...

キーボード上の各種特殊記号の英語読み方(知識の普及)

キーボード文字英語`バッククォート〜チルダ!叫ぶ@で#ナンバーサイン$ドル%パーセント^キャレット&...

CSS シャドウ効果の比較: ドロップシャドウとボックスシャドウ

Drop-shadow と box-shadow はどちらも影効果(ハロー効果)のための CSS プ...

JavaScriptアップロードファイル制限パラメータケースの詳細な説明

プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...

CentOS7 上で KVM 仮想化プラットフォームを構築する (3 つの方法)

KVM はカーネルベースの仮想マシンの略で、Linux をハイパーバイザーに変換する Linux ...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

シンプルで簡単なJavaScript開発のためのSvelte実装原理の詳細な説明

目次デモ1フラグメントの作成スヴェルトコンポーネント状態を変更できるデモSvelte は長い間存在し...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

MySQL におけるデータタイムとタイムスタンプの違い

MySQL には 3 つの日付型があります。日付(年-月-日)テーブル test(hiredate ...

Tomcatの自動シャットダウンに関するバグ修正

序文最近、4 年間実行されている Java EE Web プロジェクトでは、システムが開けないという...

MySQL統計の概要

MySQL は、SQL 解析とクエリ最適化のプロセスを通じて SQL を実行します。パーサーは SQ...

Nest.js 認証検証方法の例

目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...

ウェブページのテキストデザインは、服を着た賢い女の子のようであるべきだ

<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...