Tere!
Igas headruvad head lood lĂ”ppevad. Ja meie lugu sellest, kuidas me leiutasime Hiina tulemĂŒĂŒri kiire lĂ€bimise lahenduse, ei ole erand. SeetĂ”ttu kiirustan jagama teiega viimast, lĂ”petavat osa sellel teemal.
Eelmises osas rÀÀkisime paljusid meie loodud teststandardeid ja milliseid tulemusi need andsid. Ja me peatume sellel, et oleks tore lisada CDN! meie skeemi elavdamiseks.
RÀÀgin teile, kuidas me testisime Alibaba Cloud CDN-i, Tencent Cloud CDN-i ja Akamai-d ning millele lÔpuks otsustasime. Ja loomulikult teeme kokkuvÔtte.

Alibaba Cloud CDN
Me oleme hostitud Alibaba Cloudis, kasutame IPSEC-i ja CEN-i samalt. SeetÔttu on mÔistlik esmalt proovida nende lahendusi.
Alibaba Cloudil on kaks tĂŒĂŒpi toodet, mis vĂ”iksid meile sobida: CDN ja DCDN. Esimene variant on klassikaline CDN konkreetse domeeni (alamdomeeni) jaoks. Teine variant deĆĄifreeritakse kui Dynamic Route for CDN (ma kutsun seda dĂŒnaamiliseks CDN-iks), seda saab aktiveerida Full-site reĆŸiimis (wildcard domeenide jaoks), see salvestab staatikat ja kiirendab dĂŒnaamilist sisu, see tĂ€hendab, et ka lehe dĂŒnaamika laaditakse tasemel kiirete vĂ”rgu pakkumise kaudu. See on meie jaoks oluline, kuna meie veebisait on peamiselt dĂŒnaamiline, seal on kasutusel palju alamdomeene ja on mugavam seadistada CDN kord ĂŒhe korra âtĂ€heâ jaoks â *.semrushchina.cn.
Oleme seda toodet varem meie Hiina projekti etappides nĂ€inud, kuid siis ei töötanud see veel ja arendajad lubasid, et toode on kohe kĂ”ikidele klientidele kergesti kergesti kĂ€tte saadav. Ja see on nĂŒĂŒd kergesti kergesti kĂ€tte saadav.
DCDN-is saab:
- seada SSL-terminatsiooni oma sertifikaadiga,
- aktiveerida dĂŒnaamilise sisu kiirenduse,
- paindlikult seadistada staatiliste failide vahemÀlu,
- teha vahemÀlu puhastamine,
- edastada veebipÔhised sokid,
- aktiveerida kompressioon ja isegi HTML ilustaja.
ĂhesĂ”naga, kĂ”ik nagu suurte ja tĂ”siste CDN-teenuse pakkujate juures.
PÀrast seda, kui Origin (koht, kuhu CDN-i serva serverid lÀhevad) on mÀÀratud, jÀÀb alles luua CNAME tÀhe jaoks, mis suunab all.semrushchina.cn.w.kunluncan.com (see CNAME saadi Alibaba Cloudi konsoolist), ja CDN hakkab töötama.
Testide tulemuste kohaselt aitas see CDN meid vÀga. Statistika on toodud allpool.
Lahendus
Aeg
Mediaan
75. percentiil
95. percentiil
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
Ali CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s
Need to ensure the content fits the target audience. That's a great result, especially compared to the initial figures. However, we knew that the browser test of the American version of our website www.semrush.com averages about 8.3s from the US (a very close estimate). There's still room for improvement. Additionally, there were CDN providers we were interested in testing.
This smoothly leads us to another giant in the Chinese market â Tencent.
Tencent Cloud
Tencent is still developing its cloud â this is evident from the limited number of products. During our usage, we wanted to test not only their CDN but also their overall network infrastructure:
- do they have something similar to CEN?
- how does IPSEC work for them? Is it fast, whatâs the uptime?
- do they have Anycast?

Let's break down these questions separately.
CEN Analog
Tencent has a product Cloud Connect Network (), which allows connecting VPCs from different regions, both within China and externally. The product is currently in internal beta, and a ticket must be created to request access. From support, we learned that global accounts (not related to Chinese citizens or legal entities) cannot participate in the beta testing program and, in general, cannot connect a region inside China to a region outside. 1-0 in favor of Ali Cloud.
IPSEC
The southernmost region for Tencent is â Guangzhou. We set up a tunnel and connected it with the Hong Kong region in GCP (at that time this region had already become available). We also simultaneously raised a second tunnel in Ali Cloud from Shenzhen to Hong Kong. It turned out that the latency through Tencentâs network to Hong Kong is generally better (10ms) than from Shenzhen to Hong Kong in Ali (120ms â what?). However, this did not speed up the website's operation routed through Tencent and this tunnel, which in itself was an astonishing fact and once again proved the following: latency â for China, this is not a metric that really deserves attention during the development of a solution for passing through the Chinese firewall.
Anycast Internet Acceleration
Another product that allows functioning through anycast IP â . However, it is also unavailable to global accounts, so I won't elaborate on it, but knowing that such a product exists may be useful.
However, the CDN test showed quite interesting results. Tencentâs CDN cannot be enabled for the full site, only for specific domains. We set up domains and directed traffic to them:

It turned out that this CDN has such a function: PiiriĂŒlese Liikluse Optimeerimine. See funktsioon peaks vĂ€hendama kulusid, kui liiklus lĂ€bib Hiina tulemĂŒĂŒri. NĂ€iteks Origin oli mĂ€rkida Google'i GLB (GLB anycast) IP-aadress. SeelĂ€bi soovisime lihtsustada projekti arhitektuuri.
Tulemused olid vĂ€ga head â Ali Cloud CDNi tasemel ja kohati isegi paremad. See on ĂŒllatav, kuna testide eduka tulemuse korral vĂ”iks osad infrastruktuuri, tunnelite, CEN-i, virtuaalmasinate jne osadest loobuda.
Meie rÔÔm ei kestnud kaua, kuna ilmnes probleem: testid Catchpoints kukkusid lĂ€bi interneti teenuse pakkuja China Mobile jaoks. KĂ”igest asukohast saime aega vĂ€lja CDN Tencentiga. Kirjavahetus tehnilise toega ei viinud kuhugi. Umbes ööpĂ€eva ĂŒritasime seda probleemi lahendada, kuid ei saanud midagi korda.
Olin sel hetkel Hiinas, kuid ei suutnud leida avalikku Wi-Fi-d selle teenusepakkuja vÔrgus, et veenduda probleemis isiklikult. Muud nÀisid kÔik kiired ja head.
Kuid kuna China Mobile on ĂŒks kolmest suurimast operaatorist, olime sunnitud liikluse tagasi suunama Ali CDN-i.
Kuid kokkuvĂ”ttes oli see ĂŒsna huvitav lahendus, mis vÀÀrib pikemat testimist ja selle probleemi tĂ”rkeotsingut.
Akamai
Viimane CDN-teenuse pakkuja, keda testisime, on Akamai. See on suur teenusepakkuja, kellel on oma vĂ”rk Hiinas. Loomulikult ei saanud me temast ĂŒle vaadata.

Alates algusest leppisime Akamaiga kokku testiperioodis, et saaksime domeeni vahetada ja nĂ€ha, kuidas see nende vĂ”rgus töötab. KĂ”ik testimise tulemused kirjeldan ma osas âMida meeldisâ ja âMida ei meeldinudâ, samuti annan testide tulemused.
Mida meeldis:
- Akamai töötajad aitasid meid vĂ€ga kĂ”igis kĂŒsimustes ja toetasid meid kĂ”ikidel testimise etappidel. Nad pĂŒĂŒdsid pidevalt paremini teha oma poole pealt. 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 jaoks mÀÀrasime originaali IP-aadressi GLB, st liiklus ei lÀinud meie lahenduse lÀbi (potentsiaalselt oleks vÔimalik loobuda osast infrastruktuurist). Kuid siiski nÀitas testide tulemused, et see lahendus on halvem kui meie praegune variant (vÔrdlevad tulemused allpool).
- Testiti nii GLB originaali kui ka originaali Hiinas. MÔlemad variandid olid enam-vÀhem samad.
- Jah Sure Route (automaatne marsruutimise optimeerimine). Saate paigutada katseobjekti Originisse ning Akamai Edge serverid proovivad selle kÀtte saada (tavaline GET). Nende pÀringute jaoks mÔÔdetakse kiirus ja muud mÔÔdikud, mille pÔhjal Akamai vÔrgustik optimeerib marsruute, et liiklus meie saidile kulgeks kiiremini ja oleks selgelt nÀha, et selle funktsiooni kasutuselevÔtt on tÔeliselt mÔjutanud saidi laadimise kiirust.
- Konfiguratsiooni versioonimine veebiliideses on suurepÀrane. Saate teha versioonide vahel vÔrreldes, vaadata erinevusi. Vaadata eelnevaid versioone.
- Saate uusi versioone alustada esmalt ainult Akamai Staging vĂ”rgus â see on samasugune vĂ”rk nagu tootmisvĂ”rk, kuid see tee ei mĂ”juta reaalset kasutajat. Selle testi jaoks on vajalik DNS-kirjete petmine kohalikul masinal.
- Eriti kiire laadimiskiirus nende vĂ”rgu kaudu suure staatika ja tĂ”enĂ€oliselt ka teiste failide jaoks. Fail kĂŒlmast vahemĂ€lust saadakse 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 mÀrganud, et eelneva nÀite olukord sÔltub erinevatest teguritest. Selle punkti kirjutamise hetkel tegin testi veel kord. MÔlema platvormi tulemused osutusid enam-vÀhem sarnaseks. See nÀitab meile, et Hiinas kÀitub internet isegi suurte operaatorite ja pilveteenuse pakkujate seas aeg-ajalt erinevalt.
Lisadesin eelmainitud punktile suure plussina Akamai kohta: kui Ali puhul on nĂ€htavad sellised kĂ”rge jĂ”udluse ja vĂ€ga madala latentsusega tĂŒkid (see kehtib nii Ali CDN, Ali CEN kui ka Ali IPSEC kohta), siis Akamai puhul, iga kord, kui ma nende vĂ”rku testin, töötab kĂ”ik stabiilselt.
Akamai'l on tÔepoolest suur katvus Hiinas ja nad töötavad paljude teenusepakkujatega.
Mida me ei meeldi:
- Ma ei meeldi veebiliides ega töökorraldus â need on nullid. Kuid pĂ”himĂ”tteliselt harjub Ă€ra (ilmselt).
- Testide tulemused on halvemad kui meie omal platvormil.
- Vigu testide kĂ€igus on rohkem kui meie platvormil (ĂŒlevaatus on madalam).
- Hiinas ei ole oma DNS-servereid. SeetĂ”ttu on testides palju vigu, kuna DNS-i lahendamise aeg on ĂŒletas.
- Ei paku oma IP-aadresse -> ei ole vÔimalik kirja panna korrektseid set_real_ip_from meie serverites.
Metrika (~3626 testi; kĂ”ik metoodikad, vĂ€lja arvatud ĂŒlevus, on ms; statistika ĂŒhes ajavahemikus):
CDN teenusepakkuja
Mediaan
75%
95%
Vastus
Veebilehe vastus
Aeg
DNS
Ăhenda
Oota
Laadi
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 percentiili jÀrgi (ms):
Percentiil
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: Akamai variant on elujÔuline, kuid ei anna sama stabiilsuse ja kiiruse nÀitajaid, nagu meie enda lahendus koos Ali CDN-iga.
VÀikesed mÀrkmed
MÔned punktid ei mahtunud jutustusse, kuid soovisin neist ka kirjutada.
Pekingi + Tokyo ja Hongkong
Nagu ma juba eespool mainisin, testisime IPSEC tunnelit Hongkongi (HK) suunal. Kuid testisime ka CENi HK suunal. See on veidi odavam ja oli huvitav nÀha, kuidas see töötab linnade vahel, mille kaugus on ~100 km. Huvitav oli, et latentsus nende linnade vahel on 100 ms kÔrgem kui meie algvariandi puhul (Taiwani suunal). Kiirus ja stabiilsus oli samuti parem Taiwani puhul. LÔpuks jÀtsime HK backup IPSEC piirkonnaks.
Lisaks proovisime ĂŒles seada sellise paigalduse:
- klientide lÔpetamine Pekingis,
- IPSEC ja CEN Tokyo suunal,
- Ali CDN-is anti Pekingi server originaalserveriks.
See skeem polnud nii stabiilne, kuigi kiiruselt ei jÀÀnud meie lahendusest maha. Mis puudutab tunnelit, siis nÀgin perioodilisi katkeid isegi CEN-i puhul, mis pidi olema stabiilne. SeetÔttu naasime vana skeemi juurde ja lagundasime selle st stage.
Allpool on statistika latentsuse kohta erinevate piirkondade vahel erinevate kanalite kaudu. VÔib-olla on see kellelegi huvitav.
IPsec
Ali cn-beijing GCP asia-northeast1 â 193 ms
Ali cn-shenzhen GCP asia-east2 â 91 ms
Ali cn-shenzhen GCP us-east4 â 200ms
CEN
Ali cn-beijing Ali ap-northeast-1 â 54 ms (!)
Ali cn-shenzhen Ali cn-hongkong â 6 ms (!)
Ali cn-shenzhen <â> Ali us-east1 â 216ms
Ălevaade internetist Hiinas
Lisaks artikli alguses kirjeldatud internetiprobleemidele.
- Internet Hiinas töötab siseriiklikult ĂŒsna kiiresti.
- JÀreldus on tehtud avalike Wi-Fi vÔrkude testimise pÔhjal erinevates asukohtades, kus neid vÔrgus kasutab palju inimesi.
- Siseriiklike serverite allalaadimis- ja ĂŒleslaadimiskiirus oli umbes 20 Mbit/s ja 5-10 Mbit/s vastavalt.
- Kiirus vÀliskanalites on lihtsalt minimaalne, vÀhem kui 1 Mbit/s.
- Internet Hiinas ei ole eriti stabiilne.
- MÔnikord avanevad veebilehed kiiresti, mÔnikord aeglaselt (sama aja jooksul eri pÀevadel), tingimusel et seadistused ei muutu. Oleme seda tÀheldanud nÀiteks semrushchina.cn nÀitel. Seda vÔib seostada Ali CDN-iga, mis töötab samuti perioodiliselt kiiruselt, sÔltuvalt pÀevast, tÀhtede asendist jne.
- Mobiilne internet on praktiliselt igal pool 4G vĂ”i 4G+. Signaal on olemas metroos, liftides â lĂŒhidalt, pea igal pool.
- Kuna Hiina kasutajad usuvad ainult .cn domeenidesse â on mĂŒĂŒt. Oleme seda otse kasutajatelt vĂ€lja uurinud.
- Saab nÀha, kuidas redirectib www.baidu.com (tÔepoolest ka mandri-Hiinas).
- Paljud ressursid on tÔepoolest blokeeritud. Lihtsalt: google.com, Facebook, Twitter. Kuid paljud Google'i ressursid töötavad (muidugi mitte kÔikides Wi-Fi vÔrkudes ning VPN ei ole sel juhul kasutamisel (ka ruuteri poolel, see on kindel).
- Paljud blokeeritud ettevÔtete "tehnilised" domeenid töötavad samuti. See tÀhendab, et kÔiki Google'i ja muid nÀiliselt blokeeritud ressursse ei pruugi valimatult eemaldada. Tuleb otsida mÔni keelatud domeenide nimekiri.
- Neil on vaid kolm peamist internetiteenuse pakkujat: China Unicom, China Telecom, China Mobile. On ka mÔned vÀiksemad, kuid nende osakaal turul on ebaoluline.
Boonus: lÔplik lahenduste skeem

KokkuvÔte
Aasta on möödunud projekti kÀivitamisest. Alustasime sellest, et meie veebisait keeldus Hiinas normaalselt töötamast, GET curliga kestsid laadimised 5,5 sekundit.
Siis, neid nÀitajaid esimesel lahendusel (Cloudflare):
Lahendus
Aeg
Mediaan
75. percentiil
95. percentiil
Cloudflare
86.6
18s
30s
60s
JÔudsime selliste tulemusteni (eelmise kuu statistika):
Lahendus
Aeg
Mediaan
75. percentiil
95. percentiil
Ali CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s
Kuidas nÀha, 100% tööaega pole veel saavutatud, kuid me midagi vÀlja mÔtleme ja siis rÀÀgime teile tulemustest uues artiklis :)
Kes, kes luges kĂ”ik kolm osa lĂ”puni â respekte. Loodan, et see oli teile sama huvitav kui mulle, kui ma seda tegin.
P.S. Eelnevad osad
Allikas: habr.com
