openrestyパフォーマンステスト分析レポート

、openrestyはじめに

1. openrestyは何ですか

こすると、多くのうまく設計されたnginxのモジュールによって、OpenRestyは効果的に、そのコア開発者することができますnginxのnginxのCだけでなく、Luaスクリプトプログラミング言語を使用して様々な既存のモジュールに基づいて、強力なWebアプリケーション・サーバーにnginxのサーバーを置きますこれは、高性能なWebアプリケーションより1万同時要求よりも極端なビルドを扱うことができます。

2.なぜnginxの

図1に示すように、処理要求に応じてすぐに
2、高同時接続数
3、低メモリ消費
4、高い信頼性:
5、スケーラビリティ
6、ホットデプロイ
7、フリーライセンスBSD

3、openrestyアーキテクチャモデル

nginxのは、マスタ・ワーカモデル、いくつかのグローバル初期化を担当する複数のワーカープロセス、wokerに配置されている基本的なイベント処理、マスターを管理するマスター・プロセス、および労働者の管理を使用しています。要求がwokerに割り当てられている場合OpenResty各woker LuaVMの使用において、コルーチンこのLuaVMで(コルーチン)を作成します。コルーチンの間でデータの分離は、それぞれが別々のコルーチングローバル変数_Gを有します。

。コルーチンPSおよびマルチスレッドで同様のスレッドが:情報コルーチングローバル変数を共有するための独自のスタック、そのローカル変数、独自の命令ポインタ、しかし、および他のプログラムを持っています。その中のメインとコルーチン異なるスレッドが:複数のプロセッサの場合、複数のスレッドが、概念的に同時に複数のスレッドを実行し、コルーチンコルーチンコードを切り替えることにより行われ、任意の時間が唯一のプログラム実行コルーチンあります。そして、要求された唯一の明確なこの実行中のコルーチンは保留中の中断されます。

チャートは以下のとおりです。

 
アーキテクチャモデル

OpenResty利点

まず、私たちはnginxのプラス、多くのサードパーティのモジュールの中核であるOpenRestyを、使用することを選択し、最大の明るいスポットは、使用するWebサーバーとしてnginxのを作り、Luaは統合開発環境のデフォルトです。

イベント駆動型モデルと、非ブロッキングIOによるnginxのは、高性能なWebアプリケーションを実現することができます。

そしてOpenRestyはnginxのWebアプリケーションの開発者は、より便利で簡単なようなので、上のMySQL、Redisの、Memcachedの、およびなどのコンポーネントの数を提供します。現在、Jingdongは、このようなので、その上、このようなネットワーク淘宝網などの他の企業は、nginxの+ Luaのアーキテクチャを使用して、リアルタイムの価格スパイク、動的なサービス、単一の製品ページ、リストページなど。

二、openresty性能比較凡例

1.シナリオ1:

圧力試験の説明:
1、マシン
圧力試験:3つの物理マシン構成CPU:40核メモリ:31Gである
測定機器:物理マシン構成CPU:40核メモリ:31Gが測定される機械JVMのデフォルト設定
2、テスト方法
ローからハイへの同時圧力測定、並行する圧力測定

図2に示すように、圧力測定結果

図パフォーマンスopenresty

 
パフォーマンスチャート.PNG

 

 
グラフ.PNG

Tomcatのパフォーマンスチャート

 
パフォーマンスチャート.PNG

 

 
グラフ.PNG

図3に示すように、圧力測定分析
圧力測定データの増加に伴って同時並行の場合のシナリオ、同じ数の圧力試験結果から、MRTは、より安定でありopenresty
、周り0.35に残っているが、同時の数と性能のTomcat MRT openresty、パフォーマンスの急激な減少、増加したのみ
のTomcat 1/10程度。

2.シナリオ2:

圧力試験の説明:
1、マシン
圧力試験:3つの物理マシン構成CPU:核メモリ40:31Gは、3つのクラウドホスト構成CPU:メモリコア8:16Gの
試験機:物理マシン構成CPU:核メモリ40:31GテストマシンJVMのデフォルトの設定
2は、テストモードでは
、要求の量を増加させ

図2に示すように、圧力測定結果
openresty図パフォーマンスを

 
パフォーマンスチャート.PNG

 

 
グラフ.PNG

Tomcatの

 
パフォーマンスチャート.PNG

 

 
グラフ.PNG

3、压测分析
从对比来看随着机器增多,tomcat的TPS都有所增加,但是tomcat没有openresty增加的明显,同时openresty的MRT依然在1ms以下,比tomcat要小。

3、场景三:

压测介绍:
1、机器
压测机:3台物理机,配置 cpu: 40核 内存: 31G;3台云主机,配置cpu: 8核 内存: 16G
被测机:1台物理机,配置 cpu: 40核 内存: 31G 被测机JVM默认配置
压测结果
1、并发数300的曲线对比

 
openrestyTPS-RT曲线.png

 

 
tomcatTPS-RT曲线.png

2、对比数2000的曲线对比

 

 
openrestyTPS-RT曲线.png
 
tomcatTPS-RT曲线.png

压测分析
从图中可以看出,在压测条件一致的情况下,openresty的TPS曲线更加稳定,稳定性更高

4、场景四:

压测介绍:
1、机器
压测机:3台物理机,配置 cpu: 40核 内存: 31G
被测机:1台物理机,配置 cpu: 40核 内存: 31G 被测机JVM默认配置
2、测试方式
交叉对比

 
性能图.png
 
性能曲线对比.png

压测介绍:
1、机器
压测机:3台物理机,配置 cpu: 40核 内存: 31G;3台云主机,配置cpu: 8核 内存: 16G
被测机:1台物理机,配置 cpu: 40核 内存: 31G
2、测试方式
交叉对比

 
性能图.png

 

 
性能曲线对比.png

5、场景五:

1、内存使用率对比:

 

 
openresty内存使用率.png
 
tomcat内存使用率.png
 
使用率对比图.png

2、CPU占用率的对比

 

 
openrestyCPU使用率.png
 
tomcatCPU使用率.png
 
使用率对比.png

三、openresty性能分析报告总结

1、在并发度比较低的情况下,比如200一下,openresty和tomcat的性能差别不大,openresty的性能主要体现在占用更小的内存,性能更加稳定;
2、在并发量不断增大,请求量不断增大的情况下,openresty的处理能力更快,不但可以占用更小的内存,还可以保持很小的TPS,获取更高的QPS,性能也更加稳定;
3、openresty在内存使用率,CPU占用率等方面性能要更好;

 
 
 

おすすめ

転載: www.cnblogs.com/gxyandwmm/p/11771271.html