グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

ПрОвет
すべおの良い物語には終わりが来たす。 そしお、䞭囜のファむアりォヌルを玠早く通過するための゜リュヌションをどのように考え出したかずいう私たちのストヌリヌも䟋倖ではありたせん。 したがっお、最埌のものを急いで共有したいず思いたす。 最埌の郚分 このトピックに぀いお

前のパヌトでは、私たちが考え出した倚くのテストベンチず、それらがもたらした結果に぀いお説明したした。 そしお、䜕を远加するずよいかに぀いお決定したした CDN 粘床をスキヌムに組み蟌みたす。

Alibaba Cloud CDN、Tencent Cloud CDN、Akamai をどのようにテストしたか、そしお最終的にどうなったかを説明したす。 そしおもちろん、芁玄したしょう。

グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

アリババクラりドCDN

私たちは Alibaba Cloud でホストされおおり、Alibaba Cloud の IPSEC ず CEN を䜿甚しおいたす。 たず圌らの解決策を詊すのが論理的でしょう。

Alibaba Cloud には、私たちに適した XNUMX 皮類の補品がありたす。 CDN О DCDN。 最初のオプションは、特定のドメむン (サブドメむン) のクラシック CDN です。 XNUMX 番目のオプションは次のこずを衚したす CDNの動的ルヌト (私はこれを動的 CDN ず呌んでいたす)、フルサむト モヌド (ワむルドカヌド ドメむンの堎合) で有効にするこずができたす。たた、静的コンテンツをキャッシュし、動的コンテンツ自䜓を高速化したす。぀たり、ペヌゞのダむナミクスもプロバむダヌを通じお読み蟌たれたす。高速ネットワヌク。 これは私たちにずっお重芁です。なぜなら、私たちのサむトは基本的に動的であり、倚くのサブドメむンを䜿甚しおおり、「アスタリスク」 (*.semrushchina.cn) に察しお CDN を䞀床セットアップする方が䟿利だからです。

私たちはこの補品を䞭囜プロゞェクトの初期段階ですでに目にしおいたしたが、その時はただ機胜しおおらず、開発者はこの補品が間もなくすべおの顧客に提䟛されるず玄束したした。 そしお圌はそうしたした。

DCDN では次のこずができたす。

  • 蚌明曞を䜿甚しお SSL 終了を構成したす。
  • 動的コンテンツの高速化を可胜にし、
  • 静的ファむルのキャッシュを柔軟に構成したす。
  • キャッシュをパヌゞし、
  • Web゜ケットを転送し、
  • 圧瞮や HTML Beautifier も有効にしたす。

䞀般に、倧人や倧芏暡な CDN プロバむダヌの堎合ずすべおが同じです。

オリゞン (CDN ゚ッゞ サヌバヌが移動する堎所) を指定したら、残っおいるのは、アスタリスクの CNAME を䜜成するこずだけです。 all.semrushchina.cn.w.kunluncan.com (この CNAME は Alibaba Cloud コン゜ヌルで受信されたした)、CDN は機胜したす。

テスト結果に基づくず、この CDN は非垞に圹に立ちたした。 統蚈を以䞋に瀺したす。

゜リュヌション
皌働時間
䞭倮倀
75パヌセンタむル
95パヌセンタむル

CloudFlare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

CEN/IPsec + GLB
99.79
13s
16s
25s

アリ CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s

これらは、特に最初の数倀ず比范するず、非垞に良奜な結果です。 しかし、圓瀟の Web サむト www.semrush.com の米囜版のブラりザ テストは、米囜から平均 8.3 秒 (非垞におおよその倀) で実行されるこずがわかっおいたした。 改善の䜙地はありたす。 さらに、テストしおみるず興味深い CDN プロバむダヌもありたした。

したがっお、私たちはスムヌズに䞭囜垂堎の別の巚人に移りたす - テンセント.

Tencent Cloud

Tencent はクラりドを開発しおいるずころです。これは少数の補品からもわかりたす。 これを䜿甚しおいる間、CDN だけでなく、ネットワヌク むンフラストラクチャ党䜓もテストしたいず考えたした。

  • CEN に䌌たものはありたすか?
  • IPSEC は圌らにずっおどのように機胜するのでしょうか? 速いですか、皌働時間はどれくらいですか?
  • 圌らぱニヌキャストを持っおいたすか

グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

これらの質問を個別に芋おみたしょう。

アナログ CEN

テンセントには補品がありたす クラりドコネクトネットワヌク (CCN)、䞭囜囜内倖のリヌゞョンを含む、さたざたなリヌゞョンの VPC に接続できるようになりたす。 この補品は珟圚瀟内ベヌタ版であるため、接続を求めるチケットを䜜成する必芁がありたす。 サポヌトから、グロヌバル アカりント (䞭囜囜民や法人のこずではありたせん) はベヌタ テスト プログラムに参加できず、䞀般に䞭囜囜内の地域ず䞭囜倖の地域を接続できないこずがわかりたした。 1-0 アリ・クラりド有利

IPSEC

テンセントの最南端の地域は、 広州。 トンネルを組み立おお、GCP の銙枯リヌゞョンに接続したした (圓時、このリヌゞョンはすでに利甚可胜になっおいたした)。 深圳から銙枯に至る阿里雲の10番目のトンネルも同時に嵩䞊げされた。 Tencent ネットワヌクを経由するず、深センから銙枯、アリたでの遅延 (120 ミリ秒、䜕?) よりも銙枯たでの遅延 (XNUMX ミリ秒) の方が䞀般的に優れおいるこずがわかりたした。 しかし、これは、テンセントずこのトンネルを介しお䜜業するこずを目的ずしたサむトの䜜業を決しお高速化するものではありたせんでした。これ自䜓が驚くべき事実であり、次のこずを再床蚌明したした: 遅延 - 䞭囜にずっお、これは実際に䟡倀のある指暙ではありたせん䞭囜のファむアりォヌルを通過する゜リュヌションを開発する際には泚意しおください。

゚ニヌキャスト むンタヌネット アクセラレヌション

゚ニヌキャスト IP 経由での䜜業を可胜にするもう XNUMX ぀の補品は、 AIA。 ただし、グロヌバルアカりントでは利甚できないので説明したせんが、このような補品があるこずを知っおおくず䟿利かもしれたせん。

しかし、CDN テストでは非垞に興味深い結果が瀺されたした。 Tencent の CDN はフルサむトでは有効にできず、特定のドメむンでのみ有効になりたす。 ドメむンを䜜成し、トラフィックを送信したした。

グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

このCDNには次のような機胜があるこずが刀明したした。 囜境を越えたトラフィックの最適化。 この機胜により、トラフィックが䞭囜のファむアりォヌルを通過する際のコストが削枛されたす。 ずしお Origin Google GLB(GLB゚ニヌキャスト)のIPアドレスを指定したした。 したがっお、プロゞェクトのアヌキテクチャを簡玠化したいず考えたした。

結果は非垞に良奜で、Ali Cloud CDN のレベルで、堎合によっおはそれ以䞊でした。 テストが成功するず、むンフラストラクチャ、トンネル、CEN、仮想マシンなどの倧郚分を攟棄できるため、これは驚くべきこずです。

私たちが喜んでいたのも長くはなく、問題が明らかになりたした。むンタヌネット プロバむダヌであるチャむナ モバむルのキャッチポむントでのテストが倱敗したのです。 どの堎所からでも、Tencent の CDN 経由でタむムアりトを受け取りたした。 テクニカルサポヌトに問い合わせおも䜕も解決したせんでした。 私たちはこの問題を XNUMX 日ほど解決しようず詊みたしたが、䜕も解決したせんでした。

その時私は䞭囜にいたしたが、このプロバむダヌのネットワヌク䞊で公衆 Wi-Fi を芋぀けるこずができず、問題を個人的に確認できたせんでした。 それ以倖の堎合は、すべおが高速で良奜に芋えたした。
しかし、チャむナモバむルがXNUMX倧通信事業者のXNUMX぀であるずいう事実により、トラフィックをAli CDNに戻すこずを䜙儀なくされたした。
しかし、党䜓ずしお、これは、この問題のより長いテストずトラブルシュヌティングに倀する、かなり興味深い解決策でした。

アカマむ

私たちが最埌にテストした CDN プロバむダヌは、 アカマむ。 これは䞭囜にネットワヌクを持぀巚倧プロバむダヌです。 もちろん、それを乗り越えるこずはできたせんでした。

グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

私たちは最初から、ドメむンを切り替えおネットワヌク䞊でどのように動䜜するかを確認できるよう、詊甚期間に぀いお Akamai ず合意したした。 すべおのテストの結果を「良かった点」ず「気に入らなかった点」の圢で説明し、テスト結果も瀺したす。

䜕が奜きでしたか

  • Akamai の担圓者はすべおの質問に非垞に芪切で、テストのすべおの段階で私たちに同行しおくれたした。 私たちは垞に自分たちの偎で䜕かを改善しようず努めおいたした。 圌らは良い技術的なアドバむスをくれたした。
  • Akamai は、Ali Cloud CDN 経由の゜リュヌションよりも玄 10  15% 遅いです。 印象的なのは、Origin for Akamai で GLB の IP アドレスを指定したこずです。これは、トラフィックが圓瀟の゜リュヌションを通過しなかったこずを意味したす (むンフラストラクチャの䞀郚を攟棄できる可胜性がありたす)。 しかし、それでも、テスト結果は、この゜リュヌションが珟圚のバヌゞョンよりも劣っおいるこずを瀺したした (以䞋の比范結果)。
  • 䞭囜で Origin GLB ず Origin の䞡方をテストしたした。 どちらのオプションもほが同じです。
  • あり 確実なルヌト (自動ルヌティング最適化)。 Origin でテスト オブゞェクトをホストするず、Akamai の Edge サヌバヌがそれを取埗しようずしたす (通垞の GET)。 これらのリク゚ストに察しお、速床やその他の指暙が枬定され、これに基づいお Akamai ネットワヌクがルヌトを最適化し、サむトのトラフィックが高速化されたす。この機胜を有効にするず、サむトの速床に倧きな圱響を䞎えるこずは明らかでした。
  • Web むンタヌフェむスでの構成のバヌゞョン管理は優れおいたす。 バヌゞョンを比范したり、差分を確認したりできたす。 以前のバヌゞョンを衚瀺したす。
  • 最初に新しいバヌゞョンをロヌルアりトできるのは、本番環境ず同じネットワヌクである Akamai ステヌゞング ネットワヌク䞊のみです。この方法のみが実際のナヌザヌに圱響を䞎えたせん。 このテストでは、ロヌカル マシン䞊で DNS レコヌドを停装する必芁がありたす。
  • ネットワヌク経由での倧きな静的ファむル、および明らかにその他のファむルのダりンロヌド速床が非垞に高速です。 「コヌルド」キャッシュからのファむルは、Ali CDN の「コヌルド」キャッシュからの同じファむルよりも䜕倍も高速に取埗されたす。 「ホット」キャッシュからの速床は、プラスたたはマむナスですでに同じです。

アリ CDN テスト:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://en.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0   513k      0 --:--:--  0:00:11 --:--:--  526k
time_namelookup:  0.004286
time_connect:  0.030107
time_appconnect:  0.117525
time_pretransfer:  0.117606
time_redirect:  0.000000
time_starttransfer:  0.840348
----------
time_total:  11.208119
----------
size_download:  5895467 Bytes
speed_download:  525999.000B/s

アカマむのテスト:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://www.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0  1824k      0 --:--:--  0:00:03 --:--:-- 1825k
time_namelookup:  0.509005
time_connect:  0.528261
time_appconnect:  0.577235
time_pretransfer:  0.577324
time_redirect:  0.000000
time_starttransfer:  1.327013
----------
time_total:  3.154850
----------
size_download:  5895467 Bytes
speed_download:  1868699.000B/s

䞊蚘の䟋の状況はさたざたな芁因に䟝存しおいるこずがわかりたした。 この点を曞いおいる時点で、再床テストを実行したした。 䞡方のプラットフォヌムの結果はほが同じでした。 これは、䞭囜のむンタヌネットは、倧手通信事業者やクラりドプロバむダヌであっおも、時々異なる動䜜をするこずを瀺しおいたす。

前の点に、Akamai にずっお倧きなプラスを付け加えおおきたす。Ali が高いパフォヌマンスず非垞に䜎いパフォヌマンスの同様のフラッシュを瀺した堎合 (これは、Ali CDN、Ali CEN、および Ali IPSEC に圓おはたりたす)、Akamai は、い぀でも、関係なく、圌らのネットワヌクをテストしたずころ、すべおが安定しお動䜜したした。
Akamai は䞭囜で倚くのサヌビスをカバヌしおおり、倚くのプロバむダヌず連携しおいたす。

気に入らなかったもの

  • 私は Web むンタヌフェむスずその動䜜方法が気に入らないのです。ずおも貧匱です。 でも基本的には慣れたすたぶん。
  • テスト結果は圓サむトよりも悪いです。
  • テスト䞭には、圓瀟のサむトよりも倚くの゚ラヌが発生したす (皌働時間は䞋蚘を参照)。
  • 䞭囜には独自の DNS サヌバヌはありたせん。 したがっお、DNS 解決タむムアりトによるテストで倚くの゚ラヌが発生したす。
  • IP 範囲が提䟛されおいない -> 正しい IP 範囲を登録する方法がない set_real_ip_from 圓瀟のサヌバヌ䞊で。

メトリック (~3626 回の実行、皌働時間を陀くすべおのメトリック (ミリ秒単䜍)、XNUMX ぀の期間の統蚈):

CDNプロバむダヌ
䞭倮倀
芖聎者の%が
芖聎者の%が
レスポンス
りェブペヌゞの応答
皌働時間
DNS
お問合せ
埅぀
負荷
SSL

アリCDN
9195
10749
17489
1,715
10,745
99.531
57
17
927
479
200

アカマむ
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

パヌセンタむルによる分垃 (ミリ秒単䜍):

癟分䜍数
アカマむ
アリCDN

10
7,092
6,942

20
7,775
7,583

30
8,446
8,092

40
9,146
8,596

50
9,783
9,195

60
10,497
9,770

70
11,371
10,383

80
12,670
11,255

90
15,882
13,165

100
91,592
91,596

結論は次のずおりです。Akamai のオプションは実行可胜ですが、Ali CDN ず組み合わせた独自の゜リュヌションず同じ安定性ず速床は提䟛されたせん。

小さなメモ

ストヌリヌに茉っおいない瞬間もありたしたが、それに぀いおも曞いおいきたいず思いたす。

北京+東京および銙枯

䞊で述べたように、銙枯 (HK) ぞの IPSEC トンネルをテストしたした。 ただし、CEN から HK たでのテストも行いたした。 費甚も少し安くなりたすし、距離が 100 km 皋床の郜垂間でどのように機胜するのか疑問に思っおいたした。 興味深いこずに、これらの郜垂間の遅延は、元のバヌゞョン (台湟たで) よりも 100 ミリ秒長いこずがわかりたした。 スピヌド、安定性も台湟の方が優れおいたした。 その結果、銙枯をバックアップ IPSEC 地域ずしお残したした。

さらに、次のむンストヌルを詊みたした。

  • 北京の顧客の契玄解陀、
  • IPSEC ず CEN を東京ぞ、
  • Ali CDN では、北京のサヌバヌが発信元ずしお瀺されおいたした。

このスキヌムはそれほど安定しおいたせんでしたが、速床の点では䞀般に私たちの゜リュヌションに劣りたせんでした。 トンネルに関しおは、安定しおいるはずのCENでも断続的な䜎䞋が芋られたした。 したがっお、私たちは叀いスキヌムに戻り、このステヌゞングを解䜓したした。

以䞋は、さたざたなチャネルのさたざたなリヌゞョン間のレむテンシヌに関する統蚈です。 もしかしたら誰かが興味を持っおくれるかもしれたせん。

IPsec
アリ cn-北京 <—> GCP アゞア北東 1 — 193ms
Ali cn-深セン <—> GCP asia-east2 — 91ms
Ali cn-深セン <—> GCP us-east4 — 200ms

CEN
アリ cn-beijing <—> アリ ap-northeast-1 — 54ms (!)
アリ cn-深セン <—> アリ cn-銙枯 — 6ms (!)
アリ cn-深セン <—> アリ us-east1 — 216ms

䞭囜のむンタヌネットに関する䞀般情報

蚘事の最初の郚分で説明したむンタヌネットの問題ぞの远加ずしお。

  • 䞭囜のむンタヌネットは囜内ではかなり速いです。
    • この結論は、倚数の人が䜿甚するさたざたな堎所での公衆 Wi-Fi ネットワヌクのテストに基づいお䜜成されたした。
    • 䞭囜囜内のサヌバヌぞのダりンロヌド速床ずアップロヌド速床は、それぞれ玄 20 Mbit/s ず 5  10 Mbit/s でした。
    • 䞭囜囜倖のサヌバヌぞの速床は非垞に遅く、1 Mbit/s 未満です。
  • 䞭囜のむンタヌネットはあたり安定しおいたせん。
    • 構成が倉曎されない限り、サむトはすぐに開く堎合もあれば、ゆっくり開く堎合もありたす (別の日の同じ時間に)。 これは semrushchina.cn の䟋で確認したした。 これは、時間垯や星の䜍眮などに応じお、このように動䜜したり、あのように動䜜したりする Ali CDN によるものず考えられたす。
  • モバむル むンタヌネットは、ほずんどどこでも 4G たたは 4G+ です。 地䞋鉄でも゚レベヌタヌでも、぀たりどこにでもありたす。
  • 䞭囜のナヌザヌが .cn ゟヌンのドメむンのみを信頌するずいうのは迷信です。 私たちはこれをナヌザヌから盎接孊びたした。
    • その方法がわかりたす http://baidu.cn www.baidu.com にリダむレクトしたす (䞭囜本土でも)。
  • 実際、倚くのリ゜ヌスがブロックされおいたす。 原始的: google.com、Facebook、Twitter。 ただし、倚くの Google リ゜ヌスは機胜したす (もちろん、すべおの Wi-Fi で機胜するわけではありたせんし、VPN は䜿甚されたせん (ルヌタヌ偎でももちろんです)。
  • ブロックされおいる䌁業の倚くの「技術」ドメむンも機胜しおいたす。 これは、Google やその他のブロックされおいるように芋えるリ゜ヌスを垞に無謀に遮断すべきではないこずを意味したす。 犁止されおいるドメむンのリストを探す必芁がありたす。
  • 䞻芁なむンタヌネット通信事業者は、チャむナナニコム、チャむナテレコム、チャむナモバむルの XNUMX 瀟だけです。 さらに小芏暡なものもありたすが、垂堎シェアは埮々たるものです

ボヌナス: 最終的な゜リュヌションの図

グレヌトチャむニヌズファむアりォヌルをどのように突砎したか (パヌト 3)

合蚈

プロゞェクト開始から5.5幎が経過したした。 たずは、私たちのサむトが䞭囜からの通垞の動䜜を拒吊し、単に GET Curl を実行するのに XNUMX 秒かかったずいう事実から始めたした。

次に、最初の゜リュヌション (Cloudflare) でこれらのむンゞケヌタヌを䜿甚したす。

゜リュヌション
皌働時間
䞭倮倀
75パヌセンタむル
95パヌセンタむル

CloudFlare
86.6
18s
30s
60s

最終的に次のような結果に達したした (先月の統蚈)。

゜リュヌション
皌働時間
䞭倮倀
75パヌセンタむル
95パヌセンタむル

アリ CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s

ご芧のずおり、ただ 100% の皌働率を達成するこずはできおいたせんが、䜕かを考え出し、その結果に぀いおは新しい蚘事でお知らせしたす :)

䞉郚䜜を最埌たで読んでくださった方に敬意を衚したす。 私がやったずきず同じように、このすべおが興味深いず感じおいただければ幞いです。

PS 前線

Часть1
Часть2

出所 habr.com

コメントを远加したす