Rasmus Lerdorf 整理的資料 (就是生出 PHP 的那個 @rasmus),關於平價 VPS 的測試:「Low-Cost VPS Testing」。
因為是 PHP 的大頭,所以把編 PHP 當作是 benchmark 的項目之一也不算太意外。另外還是有比較常見的 dd 與 iperf3 測試資料可以看。
算是一個挖掘的點,之後也可以租幾台測試看看...
幹壞事是進步最大的原動力
Rasmus Lerdorf 整理的資料 (就是生出 PHP 的那個 @rasmus),關於平價 VPS 的測試:「Low-Cost VPS Testing」。
因為是 PHP 的大頭,所以把編 PHP 當作是 benchmark 的項目之一也不算太意外。另外還是有比較常見的 dd 與 iperf3 測試資料可以看。
算是一個挖掘的點,之後也可以租幾台測試看看...
所以 Linode 開始有 GPU Instance 產品線了:「Introducing Linode GPU Instances」。
用的是 Nvidia Quadro RTX 6000:
Linode GPU instances are built on NVIDIA Quadro RTX 6000 GPU cards.
查維基百科可以看到是 2018-08-13 推出的卡。價錢不算便宜:
去年十月的新聞可以看到 Quadro RTX 6000 的報價是 $6,300:「Nvidia Lists Quadro RTX 6000 GPU at $6,300」,這樣可以跟 EC2 那邊的規格與價錢比一下感覺...
在 Hacker News 上看到「Show HN: Scar – Static websites with HTTPS, a global CDN, and custom domains (github.com)」這篇,除了文章連結外,留言提到了不少工具...
一種是透過 GitHub Pages 的方式提供服務,或是透過 Netlify,需求真的需要動到 AWS 元件的情況其實還是考慮用傳統一點的架構 (EC2 或是 VPS) 會更有彈性。
算是提出一個雞肋後,其他人把真正有用的工具整理了出來...
DigitalOcean 宣佈買下 Nanobox:「Nanobox Joins the DigitalOcean Family」。
Nanobox 是一個類似 Heroku 的服務,提供平台 (Platform) 讓開發者不需要自己架設伺服器,就可以直接把寫好的程式丟上去跑。
這次 DigitalOcean 買下 Nanobox 算是跟他們產品走向一致,提供更上層的應用,降低開發者要接觸營運這塊的門檻。另外之前提供了 PostgreSQL 的服務 (類似 Amazon RDS) 也是類似的想法。
不過 DigitalOcean 的機器速度不快,如果是因為價位而不想用 Heroku 的人,應該也會猶豫... 如果預算不是太大問題的話,其實 Heroku 還蠻好用的?目前想不到有什麼關鍵的優勢...
Google 透過環境辨識的方式改善 Google Maps 使用 GPS 定位時的精確度問題 (另外也試著解決方位不準的問題):「Using Global Localization to Improve Navigation」。
GPS 因為是衛星訊號,會有反射訊號而導致定位漂移的問題,像是這樣:
另外也會有指北針不準的問題,Google 的解法是利用相機傳輸現在的畫面,判斷可能的地點,後面的資料庫應該就是街景圖:
這代表後面的系統已經有能力處力不同天氣的情境...
不過看了一下 YouTube 上的 keynote,是去年 Google I/O 上提到的事情了,最近出現文章應該是開始提供給一般人用?在 Facebook 上有看到一些人提到...
用在室外的隱私性應該還在可以被接受的範圍?不是很確定...
先前有提到 Linode 出了 Dedicated 主機:「Linode 推出 Dedicated CPU Instances」,現在找機會測試看看,拿了 Linode 的 Dedicated (4GB) 與 AWS 的 c5.large
比較,同樣都是 2 vCPU 與 4GB RAM。
這邊用了 n-st/nench 與 OpenSSL 的 speed (包括了 aes、md5、rsa、sha1 與 sha256) 測試,我把結果都貼到這邊:「Linode (Dedicated 4GB) v.s. AWS (c5.large)」。
可以看到在 CPU 方面主要的差異是 Linode 用的是 AMD,而 AWS 用的是 Intel,所以就會有蠻多不同的數字表現...
如果仔細看 OpenSSL 的測試數據,可以看到不同演算法的差異還蠻大的,馬上可以想到的應該是硬體加速方式與 cache 架構差異造成的:
如果考慮到價位大約只有 AWS 的一半,應該是還不錯...
Linode 決定要推出 Dedicated CPU Instances,看起來相當於 AWS 的 EC2 裡一般性的 EC2 instance (指非 t
系列的),跟之前 CPU 共用而導致 CPU 可能時快時慢不同,這個方案讓 CPU resource 穩定輸出:「Introducing: Linode Dedicated CPU Instances」。
Dedicated instances are optimized for workloads where consistent performance is required or where full-duty work (100% CPU all day, every day) needs doing.
拿 EC2 裡的 c5.large
(2vCPU + 4GB) 比較差不多是一半的價錢,但實際不知道差多少... 回台灣的時候測試看看好了。看起來如果真的要在 Linode 上跑 Kubernetes 的話反而要用這種機器?
因為手上 side project 很多,有時候想要長期測一些東西,就需要租用性價比比較好的 VPS。
其中 VPS 的基準點應該是以 Linode、DigitalOcean 以及 Vultr 這幾家為主,而目前這幾家的基準點都是 RAM 的部份,目前是 1GB RAM VPS 約 $5/month。
如果你不想花太多時間在研究,選這幾家應該沒什麼問題,Linode 與 Vultr 都算是很不錯的方案。另外雖然 DigitalOcean 的 CPU 比較差,但可以看出他在非 IaaS 的服務上花了不少力氣,想要朝類似 AWS 的方向在走,如果你想要用到他們的服務,但又不想要用純正的 cloud service 的話 (通常是價位考量),可以考慮看看他們家的服務。
另外一方面,因為我自己喜歡設定底層系統,所以會朝「便宜」的方向找 VPS (能設定的東西比起 Web Hosting 多很多),然後因為機器數量愈來愈多,所以在我自己的 wiki 上整理了「Hosting」這個條目,之後就有些朋友看到價錢就會問怎麼找的... (像是 1.5GB RAM + 20GB Disk 一年只要 USD$14 這種價錢)
我主要是透過 Low End Box - Cheap VPS Hosting Providers Listing & Reviews 這邊找的,這邊常常會有各家 VPS 提供促銷,這時候可以朝幾個方向看:
另外要注意的是,這類 VPS 我通常都是先假設「資料掉了不會痛」的想法在用,然後主要是以 PayPal 為付款方式,避免主機商跑路後沒辦法拿到退款 (yeah 我遇過 XD)。
這類 VPS 主機有兩種形式:
接下來就是踩地雷了... XD
DigitalOcean 也推出了 Kubernetes (K8s) 服務:「Managing Kubernetes Just Got a Lot Simpler」。
因為 K8s 把 service discovery 與 load balancer 之類的服務都包進去了,算是一個小型的 cloud service。
不過 DigitalOcean 的 CPU 是出了名的慢,對於運算量的工作用起來不怎麼划算,不知道其他 VPS 會不會也在最近幾個月跟進推出...
我在 Vultr 上的 Trac 自動開票程式有時候會爛掉,沒把票開出來,把 stderr 輸出到檔案後發現是找不到 hostname:
socket.gaierror: [Errno -3] Temporary failure in name resolution
看了看 /etc/resolv.conf
發現系統使用的 DNS server 設定是透過 DHCP 取得設定的。但 Vultr 只有提供一組 DNS server,當查不到東西時就爆掉了... 所以找了一下,看到「How to override the DHCP-provided nameserver?」這篇,但裡面是用「增加到前面的方式」,跟我想要改成只用 1.1.1.1
與 1.0.0.1
不太一樣。
知道目錄後拿關鍵字去 dhclient.conf
的 manpage 裡面找,就可以看到四種設定方式:
default [ option declaration ] ; supersede [ option declaration ] ; prepend [ option declaration ] ; append [ option declaration ] ;
這四組看名字就大概知道用途了。接下來就是把對應的 interface 查出來以後,用 supersede
就搞定了:
supersede domain-name-servers 1.1.1.1, 1.0.0.1;
重開機測試可以確認 /etc/resolv.conf
的內容改變了。接下來再來觀察看看還會不會有狀況...