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.

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?

Vaatame need kĂŒsimused eraldi ĂŒle.
CEN-i analoog
Tencentil on toode Cloud Connect Network (), 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 â . 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:

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.

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/sAkamai 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/sOleme 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 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.

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
Allikas: habr.com
