Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

Tere!
Iga hea lugu tuleb lĂ”pule. Ja meie lugu sellest, kuidas me leiutasime lahenduse Hiina tulemĂŒĂŒri kiireks ĂŒletamiseks, ei ole erand. SeetĂ”ttu kiirustan jagama teiega viimast, lĂ”ppt osa sel teemal.

Eelmisel osal rÀÀkisime paljusid katseplatvorme, mille me ise vÀlja mÔtlesime, ja milliseid tulemusi need andsid. JÔudsime sinna, et oleks hea idee lisada CDN! meie skeemi elujÔudmiseks.

RÀÀgin teile, kuidas me testisime Alibaba Cloud CDN-i, Tencent Cloud CDN-i ja Akamai, ning millel me lÔpuks peatusime. Ja muidugi teeme kokkuvÔtte.

Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

Alibaba Cloud CDN

Me oleme majutatud Alibaba Cloudis, kasutame IPSEC-i ja CEN-i samast kohast. On loogiline, et proovime kÔigepealt nende lahendusi.

Alibaba Cloudil on kaks tĂŒĂŒpi toodet, mis vĂ”ivad meile sobida: CDN ja DCDN. Esimene variant on klassikaline CDN teatud domeenile (alamdomeenile). Teine variant tĂ€hendab DĂŒnaamiline marsruut CDN-i jaoks (ma nimetan seda dĂŒnaamiliseks CDN-iks), seda saab kasutada Full-site reĆŸiimis (wildcard domeenide jaoks), see salvestab staatilise sisu ja kiirendab dĂŒnaamilist sisu, mis tĂ€hendab, et ka lehe dĂŒnaamika laaditakse lĂ€bi teenusepakkuja kiirete vĂ”rguĂŒhenduste. See on meile oluline, sest meie sait on peamiselt dĂŒnaamiline, kasutame mitmeid alamdomeene ja on mugavam seadistada CDN ĂŒks kord 'tĂ€he' jaoks — *.semrushchina.cn.

Oleme seda toodet juba nĂ€inud meie varasemates Hiina projekti etappides, kuid sel hetkel ei töötanud see veel ja arendajad lubasid, et toode on kiiresti kĂ”ikidele klientidele kergesti saadaval. Ja nĂŒĂŒd see on.

DCDN-is saab:

  • seada SSL-terminatsiooni oma sertifikaadiga,
  • aktiveerida dĂŒnaamilise sisu kiirenduse,
  • paindlikult seadistada staatiliste failide salvestus,
  • teha puhastust katusesse,
  • edastada veebisokette,
  • aktiveerida kompressioon ja isegi HTML beautifier.

ÜhesĂ”naga, kĂ”ik nagu suurte ja tuntud CDN-teenusepakkujate puhul.

PÀrast seda, kui Origin (koht, kuhu CDN servad suunduvad) on mÀÀratud, tuleb luua CNAME, mis viitab tÀhe kujule, all.semrushchina.cn.w.kunluncan.com (see CNAME saadi Alibaba Cloudi konsoolist), ja CDN hakkab tööle.

Testide tulemuste pÔhjal aitas see CDN meid tÔeliselt palju. Statistika on toodud allpool.

Lahendus
Suurus
Mediaan
75. protsentiil
95. protsentiil

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

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

Ali CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s

Need on tÔeliselt head tulemused, eriti kui vÔrrelda neid algsete numbritega. Kuid me teadsime, et meie USA veebisaidi www.semrush.com brauseritest WhatsAppis saadud test töötab keskmiselt 8.3 sekundiga (vÀga ligikaudne vÀÀrtus). On veel vÔimalusi, kuhu areneda. Lisaks on olnud ka teisi CDN-teenuse pakkujaid, keda oli huvitav testida.

Sellega liikume sujuvalt edasi ĂŒhe veelgi suurema tegijaga Hiina turul — Tencent.

Tencent Cloud

Tencent arendab oma pilve alles — see on selgelt nĂ€ha vĂ€ikese tooteportfelliga. Selle kasutamise kĂ€igus soovisime testida mitte ainult nende CDN-i, vaid ka ĂŒleĂŒldiselt vĂ”rgu infrastruktuuri:

  • kas neil on midagi sarnast CENile?
  • kuidas toimib IPSEC? Kas see on kiire, milline on tööaeg?
  • kas neil on Anycast?

Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

Vaatame need kĂŒsimused eraldi ĂŒle.

CEN-i analoog

Tencentil on toode Cloud Connect Network (CCN), vĂ”imaldades ĂŒhendada VPC-sid erinevates regioonides, sealhulgas Hiina sees ja vĂ€ljaspool. Toode on praegu sise-beta faasis, ja sellele liitumiseks tuleb saata pilet. Toetuse kaudu saime teada, et globaalsetel kontodel (midagi mitte Hiina kodanike ja mitte juriidiliste isikute kohta) ei ole lubatud osaleda beta testimise programmis ja ĂŒldiselt ei ole vĂ”imalik Hiina siseregioni ĂŒhendada regionaalsetega vĂ€ljaspoolt. 1-0 Ali Cloudi kasuks

IPSEC

Tencent'i kĂ”ige lĂ”una poolm region Guangzhou. Me lĂ”ime tunnel ja ĂŒhendasime selle Hongkongi piirkonnaga GCP-s (siis oli see piirkond juba saadaval). Samuti tĂ”stsime korraga teise tunnelisse Ali Cloudis Shenzhenist Hongkongi. Selgus, et Tencent'i vĂ”rgu kaudu on latentsus Hongkongi suunas ĂŒldiselt parem (10ms), kui Shenzhenist Hongkongi suunas Ali kaudu (120ms — mis?). Kuid see ei kiirendanud kuidagi seda veebilehte, mis oli suunatud tööle lĂ€bi Tencent'i ja selle tunneli, mis oli endiselt ĂŒllatav fakt ja tĂ”estas veel kord jĂ€rgmist: latentsus — Hiinas ei ole see nĂ€itaja, millele tĂ”eliselt tĂ€helepanu pöörata lahenduse vĂ€ljatöötamise kĂ€igus, et lĂ€bida Hiina tulemĂŒĂŒri.

Anycast Interneti kiirus

Veel ĂŒks toode, mis vĂ”imaldab töötada anycast IP kaudu — AIA. Kuid see ei ole saadaval ka globaalses kontos, seega ei saa ma sellest rÀÀkida, kuid teadmine, et selline toode eksisteerib, vĂ”ib olla kasulik.

Kuid CDN-i test nĂ€itas ĂŒsna huvitavaid tulemusi. Tencenti CDN-i ei saa aktiveerida full-site reĆŸiimis, vaid ainult konkreetsete domeenide jaoks. Me registreerisime domeenid ja suunatud neile liiklust:

Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

Selgus, et sellel CDN-il on selline funktsioon: Ristpiiri liikluse optimeerimine. See funktsioon peaks vĂ€hendama kulusid liikluse lĂ€bimise ajal Hiina tulemĂŒĂŒri kaudu. NĂ€iteks PĂ€ritolu oli mĂ€rgitud Google'i GLB (GLB anycast) IP-aadress. Nii soovisime lihtsustada projekti arhitektuuri.

Tulemused olid vĂ€ga head — samal tasemel Ali Cloud CDN-iga, ja kohati isegi paremad. See on ĂŒllatav, sest testide Ă”nnestumise korral saaks loobuda suurest osast infrastruktuurist, tunnelitest, CEN-ist, virtuaalmasinatest jne.

Ei jÀÀnud kaua rÔÔmustamiseks, kuna ilmnes probleem: testid Catchpointis kukkusid lĂ€bi internetiteenuse pakkujaga China Mobile. Igasugustelt asukohtadelt saime aegumise kaudu Tencenti CDN-i. Suhtlemine tehnilise toe poole ei viinud kuhugi. Umbes ööpĂ€eva ĂŒritasime seda probleemi lahendada, kuid ei saavutanud midagi.

Olin sel hetkel Hiinas, kuid ei suutnud selle teenusepakkuja avalikku Wi-Fi-d leida, et probleemiga isiklikult tutvuda. Muus osas nÀgi kÔik kiire ja hea vÀlja.
Kuid kuna operaator China Mobile kuulus kolme suurema operaatori hulka, pidime liikluse suunama Ali CDN-i.
Aga tervikuna oli see ĂŒsna huvitav lahendus, mis vÀÀrib pikemat testimist ja probleemi tĂ”rkeotsingut.

Akamai

Viimane CDN-teenusepakkuja, keda me testisime, on Akamai. See on suur teenusepakkuja, kellel on Hiinas oma vÔrk. Loomulikult ei saanud me temast mööda vaadata.

Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

Algusest peale leppisime Akamai-ga kokku prooviperioodis, et saaksime domeeni vahetada ja vaadata, kuidas see nende vÔrgus töötab. Kogu testimise tulemusi kirjeldan ma kui "Mida me meeldis" ja "Mida ei meeldinud", samuti toon vÀlja testide tulemused.

Mida meeldis:

  • Akamai tiim aitas meid kĂ”igis kĂŒsimustes ja toetas meid kĂ”igis katse etappides. Nad ĂŒritasid pidevalt oma poolel midagi paremaks muuta. Andsid hĂ€id tehnilisi nĂ”uandeid.
  • Akamai töötab umbes 10-15% aeglasemalt kui meie lahendus Ali Cloud CDN kaudu. Muljetavaldav on see, et Akamai Originis mÀÀrasime GLB IP-aadressi, mis tĂ€hendab, et liiklus ei lĂ€inud lĂ€bi meie lahenduse (osa infrastruktuurist on potentsiaalselt vĂ”imalik eemaldada). Siiski nĂ€itasid testitulemused, et see lahendus on halvem kui meie praegune variant (vĂ”rdlevad tulemused allpool).
  • Testiti nii GLB als Originit kui ka Originit Hiinas. MĂ”lemad valikud on umbes samasugused.
  • On Sure Route (automaatne marsruudi optimeerimine). Saate oma testobjekti Originisse paigutada, ja Akamai Edge-serverid proovivad seda hankida (tavaline GET). Nende pĂ€ringute jaoks mÔÔdetakse kiirus ja muud mÔÔdikud, mille pĂ”hjal Akamai vĂ”rgustik optimeerib marsruute, et liiklus kulgeks meie saidile kiiremini ja oleks nĂ€htav, et selle funktsiooni sisse lĂŒlitamine avaldas tĂ”eliselt suurt mĂ”ju saidi töö kiirusel.
  • Konfiguratsiooni versioonimine veebiliideses on suurepĂ€rane. VĂ”imalik on teha versioonide vĂ”rdlust, vaadata diff'i. Vaadata eelmisi versioone.
  • Uus versioon tuleks eelnevalt vĂ€ljastada Akamai Staging vĂ”rgus — see on identne tootmisvĂ”rguga, kuid see ei mĂ”juta reaalseid kasutajaid. Selle testi jaoks tuleb DNS-kandeid kohalikul masinal spoofiaerida.
  • Nende suure staatilise sisu vĂ”rgu kaudu on laadimiskiirus ÀÀrmiselt kiire, samuti nĂ€ib see kehtivat ka kĂ”igi teiste failide kohta. Fail kĂŒlmast vahemĂ€lust vĂ”etakse mitu korda kiiremini kui sama fail Ali CDN kĂŒlmast vahemĂ€lust. Kuumast vahemĂ€lust on kiirus enam-vĂ€hem sama.

Ali CDN test:

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

Akamai test:

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

Oleme tĂ€hele pannud, et ĂŒlaltoodud nĂ€ite olukord sĂ”ltub erinevatest teguritest. Selle punkti kirjutamise hetkeks testisin uuesti. Tulemused mĂ”lema platvormi jaoks osutusid enam-vĂ€hem samaks. See nĂ€itab, et internet Hiinas kĂ€itub isegi suurte operaatorite ja pilveteenuste pakkujate puhul aeg-ajalt erinevalt.

Eelnevale punktile lisaks, Akamai suur pluss: kui Ali nÀitab sarnaseid kÔrge jÔudluse ja ÀÀrmiselt madala (see kehtib nii Ali CDN, Ali CEN, kui ka Ali IPSEC) tÔusudena, siis Akamai puhul, olen kuidas iganes nende vÔrku testinud, kÔik töötab stabiilselt.
Akamai tÔepoolest omab suurt katvust Hiinas ja töötab paljude teenusepakkujatega.

Mis ei meeldinud:

  • Veebiliides ja töömudel ei meeldi — sellised nullid. Aga pĂ”himĂ”tteliselt harjub ehk Ă€ra.
  • Testitulemused on halvemad kui meie platvormil.
  • Testide vigu on rohkem kui meie platvormil (uptime on madalam).
  • Hiinas pole oma DNS-servereid. Seega on palju vigu testides, kuna DNS lahendustĂ€htaeg on ĂŒletatud.
  • Ei pakuta oma IP vahemikke -> puudub vĂ”imalus Ă”igesti mÀÀrata set_real_ip_from meie serverites.

Metrikud (~3626 jooksu; kĂ”ik nĂ€itajad, vĂ€lja arvatud uptime, millisekundites; statistika ĂŒhe ajaperioodi kohta):

CDN teenusepakkuja
Mediaan
75%
95%
Vastus
Veebilehe vastus
Suurus
DNS
Connect
Oota
Load
SSL

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

Akamai
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

Jaotamine protsentilisse (ms):

Protsentil
Akamai
Ali 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

KokkuvÔtteks: variant Akamaiga on elujÔuline, kuid ei anna samu stabiilsuse ja kiirusnÀitajaid nagu meie enda lahendus koos Ali CDN-iga.

VÀikesed mÀrkmed

MÔned punktid ei ole jutustusse mahtunud, aga sooviksin neist ka kirjutada.

Peking + Tokyo ja Hongkong

Nagu ma juba varem mainisin, testisime IPSEC tunnelit Hongkongi (HK) suunal. Kuid katsetasime ka CEN-i HK-ga. See on veidi odavam, ja oli huvitav nÀha, kuidas see töötab linnade vahel, mille vahemaa on ~100km. Huvitav oli mÀrkida, et latentsus nende linnade vahel on 100ms kÔrgem kui meie algses versioonis (Taiwani suunal). Kiirus ja stabiilsus olid Taiwani puhul samuti paremad. LÔpuks jÀtsime HK-i varu IPSEC piirkonnaks.

Lisaks proovisime kÀivitada sellist seadet:

  • klientide lĂ”petamine Pekingi regionaalses keskuses,
  • IPSEC ja CEN Tokyosse,
  • Ali CDN-i mÀÀramine Pekingi originaalserverina.

See skeem ei olnud nii stabiilne, kuigi kiirus ei olnud meie lahendusele jÀreleandmisi. Tunneliga seoses mÀrkasin perioodilisi katkestusi isegi CEN-i puhul, mis pidi olema stabiilne. SeetÔttu naasime vana skeemi juurde ja lÔpetasime selle etapi.

Allpool on esitatud latentsuse statistika erinevate regioonide vahel erinevate kanalite kohta. VÔib-olla on see kellelegi huvitav.

IPsec
Ali cn-beijing GCP asia-northeast1 — 193ms
Ali cn-shenzhen GCP asia-east2 — 91ms
Ali cn-shenzhen <—> GCP us-east4 — 200ms

CEN
Ali cn-beijing Ali ap-northeast-1 — 54ms (!)
Ali cn-shenzhen Ali cn-hongkong — 6ms (!)
Ali cn-shenzhen Ali us-east1 — 216ms

Ülevaade internetist Hiinas

Lisaks internetiprobleemidele, mis on esitatud artikli alguses.

  • Internet Hiinas töötab seespool ĂŒsna kiiresti.
    • JĂ€reldus pĂ”hineb avalike Wi-Fi vĂ”rkude testimisel erinevates kohtades, kus neid vĂ”rgud kasutab suur hulk inimesi.
    • Allalaadimis- ja ĂŒleslaadimiskiirus serveritesse Hiinas oli umbes 20 Mbit/s ja 5-10 Mbit/s vastavalt.
    • Kiirus serveritesse Hiina vĂ€liselt on lihtsalt kosmiliselt madal, alla 1 Mbit/s.
  • Internet Hiinas ei ole vĂ€ga stabiilne.
    • MĂ”nikord avanevad saidid kiiresti, mĂ”nikord aeglaselt (samal kellaajal eri pĂ€evadel), tingimusel et konfiguratsioon ei muutu. Oleme seda jĂ€lginud nĂ€itel semrushchina.cn. Seda vĂ”ib kirjutada Ali CDN-le, mis töötab samuti vahelduvalt sĂ”ltuvalt kellaajast, tĂ€htede asendist jne.
  • Mobiilne internet on peaaegu kĂ”ikjal 4G vĂ”i 4G+. Töötab metroos, liftides — lĂŒhidalt, igal pool.
  • See, et Hiina kasutajad usuvad ainult .cn domeenidesse — on mĂŒĂŒt. Oleme seda teada saanud otse kasutajatelt.
    • Saab nĂ€ha, kuidas http://baidu.cn redirectib www.baidu.com peale (samuti mandri-Hiinas).
  • Paljusid ressursse on tĂ”epoolest blokeeritud. Primitiivne: google.com, Facebook, Twitter. Kuid paljud Google'i ressursid töötavad (muidugi, mitte kĂ”ikides Wi-Fi vĂ”rguĂŒhendustes ning VPN ei tööta ka (lĂŒlitite poolel kindlasti mitte).
  • Paljud "tehnilised" blokeeritud korporatsioonide domeenid töötavad samuti. See tĂ€hendab, et ei ole alati mĂ”istlik kĂ”ik Google'i ja teised nĂ€iliselt blokeeritud ressursid mahakanda. Tuleb otsida mingit keelatud domeenide nimekirja.
  • Nendel on kolm peamist interneti operaatorit: China Unicom, China Telecom, China Mobile. On ka vĂ€iksemaid, kuid nende turuosa on ebaoluline.

Boonus: lÔppscheem lahendusest.

Kuidas me lĂ€bistasime Suure Hiina tulemĂŒĂŒr (osa 3)

KokkuvÔte

Aasta on möödunud projekti algusest. Alustasime sellest, et meie veebisait keeldus tÀielikult korralikult töötamast Hiinast, ja lihtsalt GET curl vÔttis aega 5.5 sekundit.

SeejÀrel, selliste nÀitajate juures esimese lahenduse (Cloudflare) puhul:

Lahendus
Suurus
Mediaan
75. protsentiil
95. protsentiil

Cloudflare
86.6
18s
30s
60s

LÔpuks jÔudsime selliste tulemusteni (statistika viimase kuu kohta):

Lahendus
Suurus
Mediaan
75. protsentiil
95. protsentiil

Ali CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s

Nagu nÀha, ei ole 100% tööaega seni veel saavutatud, kuid me leiame midagi, ja seejÀrel rÀÀgime teile tulemustest uues artiklis :)

Luges, kes lugesid lĂ”puni kĂ”ik kolm osa — respekteerimine. Loodan, et see oli teile sama huvitav, kui mulle, kui ma seda tegin.

P.S. Eelnevad osad

Osa 1
Osa 2

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster