github 入門教程之 github 訪問速度太慢怎麼辦

github-speedup-github-preview.png

github 是全世界最流行的開源項目託管平臺,其表明的開源文化從根本上改變了軟件開發的方式.git

基本上全部的需求都能從 github 上或多或少找到現成的實現方案,不再用重頭開始造輪子而是自定義輪子!github

然而,有時候國內訪問 https://github.com/ 速度太慢,如何加速訪問 github.com 網站就成了剛需.web

因爲 github.com 網站位於美國舊金山,因此初始訪問 github.com 時網絡尋址會比較耗費時間,這也是網站打開速度慢的其中一個緣由.windows

github-speedup-ipaddress-dns.png

國外在線檢測網站: https://www.ipaddress.com/

最初用戶從瀏覽器中輸入 github.com 網址時,瀏覽器並不知道這個域名對應的真實 ip 地址,先問問本身電腦認識不認識這個域名的門牌號,若是本機不認識會接着往上問,當地運行商也不認識這個域名的話,繼續問上級,直到問道 github.com 的門牌號是 192.30.253.113 爲止!瀏覽器

如此繁瑣的問路過程被稱之爲 DNS 尋址,若是問路的時間都佔用好久,那麼訪問網站的速度天然會很慢.緩存

因此,若是咱們直接告訴瀏覽器目的地,那麼瀏覽器也就不會一步一步去費勁問路了,這在必定程度上也就優化了訪問網站的速度.bash

$ ping github.com -c 3
PING github.com (192.30.253.113): 56 data bytes
64 bytes from 192.30.253.113: icmp_seq=0 ttl=41 time=405.924 ms
64 bytes from 192.30.253.113: icmp_seq=1 ttl=41 time=346.654 ms
64 bytes from 192.30.253.113: icmp_seq=2 ttl=41 time=345.485 ms

--- github.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 345.485/366.021/405.924/28.220 ms
ping github.com -c 3 查看 github.com 網站的門牌號

正常來講,網站的主域名下會存在多個子域名,由這些域名組合在一塊兒提供完整的服務.服務器

github.com 也不例外,其中 github.com是一級域名,也是主域名,其餘的域名基本上都是二級餘敏或者說次域名.網絡

因此咱們不只要告訴本機 github.com 的主域名,還要把相關的子域名也告訴本機,幫人幫到底,送福送到西!dom

那到哪裏去查詢域名和 ip 的對應關係呢?

想想現實生活中,每一個人都有本身的家,而這個家有具體的地址,也就是平時說的門牌號.

固然,有些人名下不僅有一個家,能夠有不少房產均可以做爲家.

對應到計算機世界中,域名就是計算機中的我的用戶,而域名的家就是 ip 地址.一個域名能夠有多個 ip,但一個 ip 只能有一個域名.

正所謂"一山不容二虎","臥榻之旁豈容他人酣睡",一家之主只能有一個!

若是有人想要拜訪您,確定要有具體的地址才能到你家裏作客,從你家到你家的地址這個過程多是你告訴他的,也多是他本身找別人打聽到的消息.

域名到 ip 地址的過程一樣也須要找人詢問,這個信息通常會存在 dns 服務商那裏,就像咱們的地址登記到相關政府機構同樣.

雖然相關機構的信息比較權威及時,但門檻有點高,不如問一下當地的"消息通".

互聯網上的"消息通"更是數不勝數,這裏推薦兩個查詢域名解析的網站.

github-speedup-ipaddress-preview.png

github-speedup-chinaz-preview.png

子域名有哪些

下面以 ipaddress.com 網站爲例,查詢下 github.com 網站的相關信息.

在輸入框中輸入 github.com 域名後開始解析該域名的相關信息,不只找到了域名對應的 ip 地址還查詢到相關網站的域名信息.

github-speedup-ipaddress-domain.png

親自去體驗一下: 域名查詢

根據查到的相關域名信息,再次查詢出這些域名對應的 ip 地址,因而整理出如下內容.

# github related website
192.30.253.113 github.com
151.101.185.194 github.global.ssl.fastly.net
192.30.253.118 gist.github.com
192.30.253.120 codeload.github.com
185.199.108.153 desktop.github.com  
185.199.108.153 guides.github.com   
185.199.108.153 blog.github.com 
18.204.240.114 status.github.com   
185.199.108.153 developer.github.com    
185.199.108.153 services.github.com 
192.30.253.175 enterprise.github.com   
34.195.49.195 education.github.com    
185.199.108.153 pages.github.com    
34.196.237.103 classroom.github.com

就近 cdn 加速

大型網站服務器都不會是隻有一臺服務器,而是多臺服務器組成的集羣一塊兒對外提供服務.

全世界都在使用 github ,若是每一次訪問網站時走的都是美國服務器,即便瀏覽器知道目的地,可是距離太多遙遠仍是會很慢.

所以,若是可以就近訪問 github 網站就能大幅提升訪問速度了,幸運的是,網絡上一樣有現成的工具來幫助咱們查看就近的網站地址.

github-speedup-chinaz-dns.png

親自去體驗一下: DNS查詢

從上圖中咱們能夠看出,同一個域名有不少不一樣的 ip 地址,從中選擇 TTL 值最小的做爲優化標準.

因而,將上述清單繼續優化成如下內容:

# github related website
192.30.253.113 github.com
151.101.185.194 github.global.ssl.fastly.net
203.98.7.65 gist.github.com
13.229.189.0 codeload.github.com
185.199.109.153 desktop.github.com 
185.199.108.153 guides.github.com  
185.199.108.153 blog.github.com
18.204.240.114 status.github.com
185.199.108.153 developer.github.com
185.199.108.153 services.github.com
192.30.253.175 enterprise.github.com   
34.195.49.195 education.github.com    
185.199.108.153 pages.github.com  
34.196.237.103 classroom.github.com
最好親自測試一下就近站點以求得到最佳體驗,不過推測應該差別不是很大,因此直接複製也無妨.

告訴本機新地址

如今咱們已經弄清楚域名和 ip 的映射關係,接下來要作的事情就是告訴本機,不一樣的操做系統具體文件存放的地址可能有些不一樣,下面咱們以 WindowsMac 舉例說明.

# github related website
192.30.253.113 github.com
151.101.185.194 github.global.ssl.fastly.net
203.98.7.65 gist.github.com
13.229.189.0 codeload.github.com
185.199.109.153 desktop.github.com 
185.199.108.153 guides.github.com  
185.199.108.153 blog.github.com
18.204.240.114 status.github.com
185.199.108.153 developer.github.com
185.199.108.153 services.github.com
192.30.253.175 enterprise.github.com   
34.195.49.195 education.github.com    
185.199.108.153 pages.github.com  
34.196.237.103 classroom.github.com

windows

映射文件存放於: C:\Windows\System32\drivers\etc\hosts
  • 打開 hosts 文件,將上述映射關係追加到文件末尾,保存並退出.

github-speedup-windows-hosts.png

若是因爲權限不足,沒法保存,能夠複製到桌面再編輯文件,最後移動並替換到 hosts 文件.
  • 運行 ipconfig /flushdns 刷新 dns 緩存.

github-speedup-windows-ping.png

mac

映射文件存放於: /etc/hosts
  • 編輯 hosts 文件並追加上述映射關係.
$ cat /etc/hosts
# jetbrains
0.0.0.0 account.jetbrains.com
0.0.0.0 www.jetbrains.com

# github related website
192.30.253.113 github.com
151.101.185.194 github.global.ssl.fastly.net
203.98.7.65 gist.github.com
13.229.189.0 codeload.github.com
185.199.109.153 desktop.github.com 
185.199.108.153 guides.github.com  
185.199.108.153 blog.github.com
18.204.240.114 status.github.com
185.199.108.153 developer.github.com
185.199.108.153 services.github.com
192.30.253.175 enterprise.github.com   
34.195.49.195 education.github.com    
185.199.108.153 pages.github.com  
34.196.237.103 classroom.github.com
  • 運行 sudo dscacheutil -flushcache 刷新 dns 緩存.
$ ping github.com -c 3
PING github.com (192.30.253.113): 56 data bytes
64 bytes from 192.30.253.113: icmp_seq=0 ttl=41 time=395.808 ms
64 bytes from 192.30.253.113: icmp_seq=1 ttl=41 time=306.919 ms
64 bytes from 192.30.253.113: icmp_seq=2 ttl=41 time=298.188 ms

--- github.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 298.188/333.638/395.808/44.105 ms
$

又到總結時間

本文講述瞭如何解決 github.com 網站訪問速度慢的問題,經過修改本機的 hosts 文件來繞過 dns 解析,這種方法僅僅適用於可以訪問網站只不過是訪問速度慢這一現象.

若是自己沒法訪問國外網站,那麼這種方法就不適用,可能須要另闢蹊徑!

相關文章
相關標籤/搜索