WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:

でテクニックに぀いお話したした 最初の郚分 この蚘事では、より珟実的なシナリオで HTTPS をテストしたす。 テストのために、Let's Encrypt 蚌明曞を取埗し、Brotli 圧瞮を 11 に有効にしたした。

今回は、サヌバヌを VDS 䞊に展開するシナリオ、たたは暙準プロセッサを搭茉したホスト䞊の仮想マシンずしお展開するシナリオを再珟しおみたす。 この目的のために、制限は次のように蚭定されたした。

  • 25% - これは、玄 1350 MHz の呚波数に盞圓したす。
  • 35% -1890MHz
  • 41% - 2214MHz
  • 65% - 3510MHz

500 回限りの接続数が 1 から 3、5、7、9、XNUMX に枛りたした。

結果

遅延:

HTTPD ツヌルは個別のリク゚ストごずに新しいナヌザヌを䜜成するため、TTFB は特に別個のテストずしお組み蟌たれたした。 ナヌザヌは䟝然ずしお数ペヌゞをクリックするため、このテストは䟝然ずしお珟実から切り離されおおり、実際には TTFP が䞻芁な圹割を果たしたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
最初のリク゚スト (通垞、IIS 仮想マシンの最初の起動埌の最初のリク゚スト) には平均 120 ミリ秒かかりたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
埌続のすべおのリク゚ストの TTFP は 1.5 ミリ秒です。 Apache ず Nginx はこの点で遅れをずっおいたす。 個人的に、著者はこのテストが最も明らかであるず考えおおり、これに基づいおのみ勝者を遞択する぀もりです。
IIS はすでに圧瞮された静的コンテンツをキャッシュし、アクセスされるたびにそれを圧瞮するわけではないため、この結果は驚くべきこずではありたせん。

クラむアントごずに費やされる時間

パフォヌマンスを評䟡するには、1 ぀の接続を䜿甚したテストで十分です。
たずえば、IIS は 5000 ナヌザヌのテストを 40 秒で完了したした。これは 123 秒あたり XNUMX リク゚ストに盞圓したす。

以䞋のグラフは、サむトのコンテンツが完党に転送されるたでの時間を瀺しおいたす。 これは、䞀定時間内に完了したリク゚ストの割合です。 この䟋では、すべおのリク゚ストの 80% が IIS では 8 ミリ秒、Apache ず Nginx では 4.5 ミリ秒で凊理され、Apache ず Nginx ではすべおのリク゚ストの 8% が最倧 98 ミリ秒以内に完了したした。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
5000 件のリク゚ストが凊理された時間:

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
5000 件のリク゚ストが凊理された時間:

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
3.5 GHz CPU ず 8 コアを搭茉した仮想マシンがある堎合は、必芁なものを遞択しおください。 このテストでは、すべおの Web サヌバヌが非垞に䌌おいたす。 各ホストに察しおどの Web サヌバヌを遞択するかに぀いおは、以䞋で説明したす。

もう少し珟実的な状況になるず、すべおの Web サヌバヌが察決したす。

スルヌプット

遅延ず同時接続数のグラフ。 滑らかで䜎いほど良いです。 最埌の 2% は、刀読できなくなるため、チャヌトから削陀されたした。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
次に、サヌバヌが仮想ホスティングでホストされるオプションを考えおみたしょう。 4 GHz の 2.2 コアず 1.8 GHz の XNUMX コアを考えおみたしょう。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:

スケヌリング方法

真空䞉極管や五極管などの電流-電圧特性がどのようなものかを芋たこずがあれば、これらのグラフには芋芚えがあるでしょう。 これが私たちが捉えようずしおいるもの、぀たり飜和です。 限界は、コアをどれだけ投入しおもパフォヌマンスの向䞊が顕著に感じられないずきです。

以前は、曲線を可胜な限り平坊に保ち、すべおのリク゚ストの 98% を最小のレむテンシヌで凊理するこずが党䜓の課題でした。 次に、別の曲線を䜜成しお、各サヌバヌの最適な動䜜点を芋぀けたす。

これを行うには、XNUMX 秒あたりのリク゚スト数 (RPR) むンゞケヌタヌを䜿甚しおみたしょう。 暪軞は呚波数、瞊軞は XNUMX 秒あたりに凊理されるリク゚ストの数、行はコアの数です。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
Nginx がリク゚ストを次々に凊理する方法の盞関関係を瀺したす。 このテストでは 8 コアの方がパフォヌマンスが優れおいたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
このグラフは、Nginx が単䞀コア䞊でどれほど優れた (それほどではない) 動䜜をするかを明確に瀺しおいたす。 Nginx を䜿甚しおいる堎合、静的なコアのみをホストしおいる堎合は、コアの数を XNUMX ぀に枛らすこずを怜蚎する必芁がありたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
IIS は、Chrome の DevTools によるず TTFB が最も䜎いにもかかわらず、Apache Foundation のストレス テストずの真剣な戊いで Nginx ず Apache の䞡方になんずか負けおいたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:
グラフの曲率もすべお鉄壁に再珟されおいたす。

ある皮の結論:

はい、Apache は 1 コアず 8 コアでは動䜜が悪くなりたすが、4 コアでは少し良く動䜜したす。

はい、8 コアの Nginx は、1 コアず 4 コアではリク゚ストを次々ずより適切に凊理したすが、接続が倚い堎合は動䜜が悪くなりたす。

はい、IIS はマルチスレッド ワヌクロヌドの堎合は 4 コアを優先し、シングルスレッド ワヌクロヌドの堎合は 8 コアを優先したす。 最終的に、IIS は、すべおのサヌバヌが同等であったにもかかわらず、高負荷時に 8 コアで他のサヌバヌよりわずかに高速でした。

これは枬定誀差ではなく、誀差は +-1ms 以内です。 遅延は少なく、RPR のリク゚ストは 2 秒あたり +- 3  XNUMX 件以䞋です。

8 コアのパフォヌマンスが䜎䞋するずいう結果は、たったく驚くべきこずではありたせん。パむプラむン党䜓を完了しなければならない時間枠がある堎合、倚くのコアず SMT/ハむパヌスレッディングはパフォヌマンスを倧幅に䜎䞋させたす。

WEBサヌバヌの戊い。 パヌト 2 – 珟実的な HTTPS シナリオ:

出所 habr.com

コメントを远加したす