用 Google 的 Public DNS 上網會變快?Google的DNS真的比較快嗎?之常用DNS測試

前鎮子不知道為什麼很流行說用Google DNS網路會變快這件事…

DNS 解析這種東西會有 cache (快取) 的東西 … 而且 DNS Server 也有自己的Cache,我是覺得把 DNS 設為 Google 的 public DNS 好處應該就是 Google 的 DNS 穩定性高、比較少故障,不過以速度來講通常是 ISP 提供或自己架設的會最快(沒意外的話XD),除非你連的網站背後都有多台伺服器,又偏偏 Google 都會幫你指向那個比較快的伺服器,而你原本預設的 DNS(通常是ISP提供)偏偏都指向慢的伺服器,這樣好像才說得過去?

前鎮子就找了 namebench 跟 DNS Benchmark 兩套軟體來做測試,證明一下到底有沒有比較快?差異多少?

先說一下圖中的網路接法是這樣: Cable -> IP分享器1號(192.168.2.1) -> IP分享器2號(192.168.10.10) -> 我的電腦

同軟體測了幾次看起來也沒太大的變化,所以都只各抓一張圖,截圖有一張不知道丟哪去了…不過結果差不多,出入不大,下面這張 DNS Benchmark 的圖可以大概看出幾點:
DNS Benchmark

  1. ISP 的 DNS通常會比 Google 的快 (61.31.233.1, 這是台灣固網的, 之前測Hinet的差異更明顯)
  2. IP 分享器內建的DNS如果太爛 … 內建的 DNS 可能會比用 Google 的還慢 (192.168.2.1, 所以傳說改DNS網路會變快都是因為這樣?)
  3. 如果IP分享器還不錯,或是會自行架設 DNS,設定調的好的話速度絕對是最快的 … (192.168.10.10,第一明的那個~)
  4. Google Public DNS 通常是自己 ISP 以外的 DNS 來講速度是最快的 (8.8.8.8, 8.8.4.4, 不過我記得在 Hinet 線路上用 Seednet 的 DNS 好像會比 Google 快一點)

註:關於圖表上三種顏色的說明

  • Cached lookups – the time to return a domain name that is already in the resolver’s name cache.
  • Uncached lookups – the time to return a sub-domain name that is not already in the resolver’s name cache.
  • Dotcom lookups – the time to consult the nameserver’s chosen dotcom resolver(s) for a dotcom name.

我通常是用自己的IP分享器提供的 DNS,然後該 DNS 會依照環境狀況依序去跟該網路環境、ISP 以及 Google DNS 要資料,Google DNS 會是先度比較低的選項

Facebook上的Linux/Unix-like OS相關中文社團整理

整理一些學習unix like作業系統可以發問及討論的社團

Debian Taiwan
https://www.facebook.com/groups/debian.tw/

Ubuntu 正體中文社團
https://www.facebook.com/groups/ubuntu.zh.hant/

openSUSE 正體中文社團
https://www.facebook.com/groups/opensuse.zh/

Fedora 中文社團
https://www.facebook.com/groups/fedora.chinesegroup/

Linux Deepin 中文社團
https://www.facebook.com/groups/linuxdeepin.chinese/

LINUX MINT 中文社團
https://www.facebook.com/groups/linuxminttw/

SteamOS 中文社團
https://www.facebook.com/groups/SteamOS.CHT/

Unix-like初學者~
https://www.facebook.com/groups/unix.like.starter.tw/

在 AWS 上的 Ubuntu 安裝 zram-config 出錯

放在 Amazon Web Services (AWS) 上的機器因為用途跟價格的關係, ram 的規格開很小,靠 swap 來緩衝的話吃 IO 吃比較兇會被多收錢,想要用 zram 來壓記憶體

zram 的說明可以參考 Wikipediahttp://zh.wikipedia.org/wiki/Zram

zram 是 Linux 核心的一個模組,之前被稱為「compcache」。zram 透過在RAM內的壓縮塊裝置上分頁,直到必須使用硬碟上的交換空間,以避免在磁碟上進行分頁,從而提高效能。由於 zram 可以用記憶體替代硬碟為系統提供交換空間的功能,zram 可以讓 Linux 在需要大量 RAM 的情況下在記憶體上進行交換/分頁,而提高記憶體的使用率,顯著得減少系統啟動時(此時 Linux 還不能使用外部儲存)對記憶體大小的要求。在實體記憶體較少的舊電腦上,尤其如此。

Lubuntu (13.10 開始) 以及 Chrome OS 預設都有啟用這項功能
所以就來安裝 zram-config,沒想到竟然失敗 …

錯誤訊息大概是這樣:

testuser@ubuntu:~$ sudo apt-get install zram-config
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
zram-config
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,078 B of archives.
After this operation, 42.0 kB of additional disk space will be used.
Selecting previously unselected package zram-config.
(Reading database ... 107939 files and directories currently installed.)
Unpacking zram-config (from .../zram-config_0.1_all.deb) ...
Processing triggers for ureadahead ...
Setting up zram-config (0.1) ...
start: Job failed to start
invoke-rc.d: initscript zram-config, action "start" failed.
dpkg: error processing zram-config (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
zram-config
E: Sub-process /usr/bin/dpkg returned an error code (1)
閱讀全文

在Ubuntu 13.10 / Linux Mint或其他Debian based的GNU/Linux上安裝ElasticSearch

翻了一些文章, 以前裝ElasticSearch比較麻煩一點, 要自己處理, 不過現在官方已經有打包deb了!

ElasticSearch官方下載頁面:http://www.elasticsearch.org/download/

目前的版本為0.90.9, 下載網址為:https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.deb

因為依賴於java環境, 所以先安裝jre(JAVA Runtime Environment):

可以只裝minimal的版本, 比較輕量一點, 不用裝那麼多東西, 安裝也比較快:
sudo apt-get install openjdk-7-jre-headless(不想裝輕量版就把-headless拿掉就好了!)

安裝好java環境後來下載elasticsearch:
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.deb

然後來安裝:
sudo dpkg -i elasticsearch-0.90.9.deb

沒問題的話service應該會自動跑起來,這邊來測試看看,有curl的話就用curl直接在terminal測(用telnet應該也可以!?):
curl http://localhost:9200

或是直接在瀏覽器開http://localhost:9200也可以

結果應該會長這樣:
{
"ok" : true,
"status" : 200,
"name" : "Drake, Frank",
"version" : {
"number" : "0.90.9",
"build_hash" : "a968646da4b6a2d9d8bca9e51e92597fe64e8d1a",
"build_timestamp" : "2013-12-23T10:35:28Z",
"build_snapshot" : false,
"lucene_version" : "4.6"
},
"tagline" : "You Know, for Search"
}

看到這就表示沒問題了!