ECS 還是 SWAS,看完評測你就知道了?
前言
我是2015年加入的阿裏雲開發者論壇當版主的,到2017年遇到比較多的問題就是很多新手用戶並不會操作 ECS 了,很多對雲計算產品不理解的用戶甚至還會誤解為什麼會有一個買了卻不能開箱即用的產品。在 2013年前後的時候我記得是那時候萬網推出了 輕雲服務器 然而僅僅隻是實現了資源獨享的虛擬主機而已,而雲市場服務商提供的應用鏡像質量也是良莠不齊。
很顯然目前的痛點:
- 就是買了 IaaS 卻不會用
- PaaS、SaaS 的自由度不高
- ECS 附加功能太多還用不到,價格貴
介紹
所以就有了輕量應用服務器(輕量應用服務器),基於 ECS 發展出的輕量服務器,完美解決了上述的三個痛點:
- 輕量應用服務器 是 IaaS 產品但是提供定製化應用鏡像且有可視化控製台可以操作,不怕新手不會用。輕量應用服務器 在提供
- 提供定製化應用鏡像的同時,用戶依舊可以擁有 root 權限,對係統進行個性化操作
- 精簡了一些 ECS 的功能,比如說安騎士。把安全組的操作也做了適當減法更適合用戶操作
不過別看多了輕量兩個字性能就會不如 ECS,在 CPU 和 磁盤性能上均沒有縮水,後麵會有測評。
優點
控製台
輕量應用服務器
ECS
那麼從控製台的對比上,ECS 是把所有的內容都告訴用戶你的地域、操作係統、標簽等等,但是新手看了難免一頭霧水。而 輕量應用服務器 則做了減法,讓控製台變得更加的直觀簡介,隻告訴你重要的信息。
站在新手視角肯定是 輕量應用服務器 更簡潔更舒服,站在我的角度麼,我配置好服務器基本上很少會來看一下 ECS 的控製台,但一回來肯定是需要一些信息的,那麼 ECS 能告訴我越多肯定越好。
應用鏡像
應用鏡像像 WordPress、phpwind 其實都是基於 LAMP 鏡像運行的,而 輕量應用服務器 提供的 LAMP 細節好評就是:php 是通過 php-fpm 方式運行的,而不是 mod_php,而且 MySQL 也是 5.7 版本的不是說萬年 5.1 或者 5.5,能支持更多的 PHP 程序。在創建虛擬主機綁定域名商相較於一鍵包配合圖形化控製台的確更加好用。
功能
輕量應用服務器 在功能上肯定是更討喜的,安裝應用鏡像基本上能做到開箱即用,三大金剛 Apache Httpd、PHP、MySQL 都會默認安裝好,而且添加域名、設置 HTTPS 等操作都是一鍵式的,極大得降低了 HTTPS 入門門檻,而且 HTTPS 的配置跑分是 A 喲,為了照顧新手不會使用 HSTS 所以沒開,不然跑到 A+ 肯定是妥妥的。
ECS 能就隻有空白的係統鏡像,任何環境都是需要用戶自行安裝的,這在一定程度上增加了用戶使用的學習成本。而 ECS 更多體現的就是專業性了,雖然複雜但是十分強大的安全組、彈性IP、均衡負載等等。
基礎運維
比如說 ECS 控製台操作起來也更加的方便,點擊一下就能遠程連接了,操作的過程中也支持命令的右鍵複製和粘貼,也大大降低了用戶使用終端控製的學習成本,不然還要下個 Putty 或者 Xshell 啥的也是麻煩。 然後默認隻支持 密鑰 登錄 Linux,這個也是好評,不用密碼當然更安全。
同樣不考慮使用 Putty 或者 Xshell 等 OpenSSH 連接工具的話,ECS控製台的遠程終端控製實在是難用,不過借助 DMS 產品倒是能擴展使用的靈活性。
防火牆
輕量的防火牆設置同 ECS 的安全組相比很簡單直觀更適合新手的使用,沒有一些非常複雜的設置,新手看到 udp、tcp 真的是頭都大了額,如果新手看教程的話,一般隻會說 “記得一定要開啟443端口才能使用HTTPS” 這樣的話,但是一看到 ECS 又是 TCP 又是 UDP,而且端口還要寫成 443/443
的形式,直接就是一個頭兩個大了。
缺點
無法滿足企業特性
輕量應用服務器有輕量兩個字,意味著其無法持續進行高負載運行(即 CPU 長時間高負載占用),如果我們要利用 輕量應用服務器 來進行持續的渲染、轉碼、機器學習等持續高負載操作那麼就不可以了,也不支持 Nvme 這樣的超高性能的 SSD,這對於讀寫敏感的操作就不好了。還有就是企業要部署集群的話勢必會大量用到內網以及其他 PaaS 或者 IaaS 產品,但是 輕量應用服務器 的內網隻作用於同一賬戶的 輕量應用服務器 之間,且每個用戶限購 5 台,勢必無法搭建集群。
內網產品
上一點有提到無法使用 PaaS 或者 IaaS 產品,那麼像 RDS for MySQL、RDS for Redis、OSS 內網、 等等都會用不到了,這就很蛋疼了,RDS 產品真的是特別好用,不需要為漏洞性能所擔心,可以說是一用就退不回去的雲計算產品,很可惜就不能用不到了,很期待後期能夠接入 VPC 讓我們使用各項內網產品。
三大金剛的版本問題
Apache Httpd、PHP、MySQL 是會持續更新的,而且它們也均有爆發過大規模嚴重漏洞的曆史,不過目前還沒有看到應用鏡像中的三大金剛如何升級版本號的姿勢。
像 WordPress 這樣的程序完全可以適應高版本的 PHP,使用 PHP7.0 或者 7.1 可以擁有更高的性能還可以降低負載,但是默認隻有 php5.6 可以選,既然使用 php-fpm 方式驅動其實完全可以提供多版本 PHP 的選擇。
總結
可以說 輕量應用服務器 是專門針對雲計算入門新手或者隻有輕量計算需求的用戶,其對標的產品隻會是 ECS 的共享型,當一到要使用 ECS 的企業型來發展性能、功能了,輕量應用服務器 的優勢其實也就沒有了。
如果你隻是輕度使用雲計算產品例如搭建一個博客、官網,如果你需要一個更快啟動的輕量服務器,如果你需要一個純粹的虛擬專用機,如果你並沒有阿裏雲內網的需求,那麼 輕量應用服務器 絕對是你最好的選擇。
評測
我們對比的是華東1地域的安裝了 CentOS 7.3 係統的 1核心1G內存的 ECS 和 輕量應用服務器 產品。看了評測就可以跟深入的了解,ECS 和 輕量應用服務器 的不同隻在於概念而不在於性能。
CPU 性能
根據下麵的對比可以發現,輕量應用服務器 的性能和 ECS 並沒有差距,大家都是新一代的 Xeon CPU,同樣的虛擬化技術。隻不過 輕量應用服務器 不可以持續高負載占用。
輕量應用服務器:
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 34281977.0 2937.6
Double-Precision Whetstone 55.0 2962.7 538.7
Execl Throughput 43.0 4860.0 1130.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 1054197.7 2662.1
File Copy 256 bufsize 500 maxblocks 1655.0 283098.8 1710.6
File Copy 4096 bufsize 8000 maxblocks 5800.0 3165160.0 5457.2
Pipe Throughput 12440.0 1734490.3 1394.3
Pipe-based Context Switching 4000.0 375732.0 939.3
Process Creation 126.0 18345.1 1456.0
Shell Scripts (1 concurrent) 42.4 6747.0 1591.3
Shell Scripts (8 concurrent) 6.0 921.5 1535.8
System Call Overhead 15000.0 2939229.7 1959.5
========
System Benchmarks Index Score 1649.5
ECS:
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 34582858.9 2963.4
Double-Precision Whetstone 55.0 2984.8 542.7
Execl Throughput 43.0 5118.8 1190.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 1073823.9 2711.7
File Copy 256 bufsize 500 maxblocks 1655.0 284701.5 1720.3
File Copy 4096 bufsize 8000 maxblocks 5800.0 3213933.6 5541.3
Pipe Throughput 12440.0 1722785.7 1384.9
Pipe-based Context Switching 4000.0 377999.7 945.0
Process Creation 126.0 18704.4 1484.5
Shell Scripts (1 concurrent) 42.4 6852.6 1616.2
Shell Scripts (8 concurrent) 6.0 937.2 1562.0
System Call Overhead 15000.0 2979190.8 1986.1
========
System Benchmarks Index Score 1673.4
磁盤性能
由下麵的磁盤跑分也可以看見,輕量應用服務器 的 20G SSD 係統盤 和 ECS 的 20G SSD 雲盤的性能都是一致的,都是 1800 的iops,也都是 90M 左右的讀寫沒有差距。
輕量應用服務器:
/dev/vda:
Timing cached reads: 21070 MB in 2.00 seconds = 10549.25 MB/sec
Timing buffered disk reads: 270 MB in 3.01 seconds = 89.76 MB/sec
[root@izbp1auqkyqtj4iozs7athz dev]# fio --bs=4k --ioengine=libaio --iodepth=1 --direct=1 --rw=read --time_based --runtime=600 --refill_buffers --norandommap --randrepeat=0 --group_reporting --name=fio-read --size=10G --filename=/dev/vda
fio-read: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
fio-2.2.8
Starting 1 process
Jobs: 1 (f=1): [R(1)] [100.0% done] [7200KB/0KB/0KB /s] [1800/0/0 iops] [eta 00m:00s]
fio-read: (groupid=0, jobs=1): err= 0: pid=24361: Sun Sep 10 15:04:27 2017
read : io=4206.7MB, bw=7179.3KB/s, iops=1794, runt=600004msec
slat (usec): min=3, max=165, avg= 6.78, stdev= 2.02
clat (usec): min=2, max=84748, avg=548.56, stdev=2727.93
lat (usec): min=131, max=84755, avg=555.59, stdev=2727.93
clat percentiles (usec):
| 1.00th=[ 141], 5.00th=[ 241], 10.00th=[ 302], 20.00th=[ 306],
| 30.00th=[ 314], 40.00th=[ 322], 50.00th=[ 334], 60.00th=[ 350],
| 70.00th=[ 362], 80.00th=[ 382], 90.00th=[ 442], 95.00th=[ 502],
| 99.00th=[ 1012], 99.50th=[23936], 99.90th=[40704], 99.95th=[42752],
| 99.99th=[68096]
bw (KB /s): min= 4624, max= 7784, per=100.00%, avg=7182.85, stdev=181.15
lat (usec) : 4=0.01%, 250=6.25%, 500=88.69%, 750=3.79%, 1000=0.27%
lat (msec) : 2=0.36%, 4=0.06%, 10=0.03%, 20=0.04%, 50=0.48%
lat (msec) : 100=0.04%
cpu : usr=0.50%, sys=1.81%, ctx=1076903, majf=1, minf=33
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=1076894/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: io=4206.7MB, aggrb=7179KB/s, minb=7179KB/s, maxb=7179KB/s, mint=600004msec, maxt=600004msec
Disk stats (read/write):
vda: ios=1078167/690, merge=0/399, ticks=598805/4230, in_queue=602927, util=98.01%
ECS:
/dev/vdb:
Timing cached reads: 19778 MB in 2.00 seconds = 9901.01 MB/sec
Timing buffered disk reads: 270 MB in 3.02 seconds = 89.54 MB/sec
[root@iZbp1258gr0v9v184jdqqkZ dev]# fio --bs=4k --ioengine=libaio --iodepth=1 --direct=1 --rw=read --time_based --runtime=600 --refill_buffers --norandommap --randrepeat=0 --group_reporting --name=fio-read --size=10G --filename=/dev/vdb
fio-read: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
fio-2.2.8
Starting 1 process
Jobs: 1 (f=1): [R(1)] [100.0% done] [6940KB/0KB/0KB /s] [1735/0/0 iops] [eta 00m:00s]
fio-read: (groupid=0, jobs=1): err= 0: pid=9552: Sun Sep 10 15:23:44 2017
read : io=4218.9MB, bw=7200.2KB/s, iops=1800, runt=600001msec
slat (usec): min=3, max=344, avg= 6.97, stdev= 2.32
clat (usec): min=1, max=85711, avg=546.79, stdev=4741.30
lat (usec): min=145, max=85717, avg=553.99, stdev=4741.28
clat percentiles (usec):
| 1.00th=[ 147], 5.00th=[ 149], 10.00th=[ 151], 20.00th=[ 153],
| 30.00th=[ 155], 40.00th=[ 159], 50.00th=[ 167], 60.00th=[ 199],
| 70.00th=[ 229], 80.00th=[ 241], 90.00th=[ 249], 95.00th=[ 270],
| 99.00th=[ 374], 99.50th=[56576], 99.90th=[67072], 99.95th=[67072],
| 99.99th=[67072]
bw (KB /s): min= 6380, max= 7624, per=100.00%, avg=7202.00, stdev=111.69
lat (usec) : 2=0.01%, 50=0.01%, 250=90.56%, 500=8.76%, 750=0.06%
lat (usec) : 1000=0.02%
lat (msec) : 2=0.02%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
lat (msec) : 100=0.55%
cpu : usr=0.50%, sys=1.98%, ctx=1080029, majf=0, minf=34
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=1080027/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: io=4218.9MB, aggrb=7200KB/s, minb=7200KB/s, maxb=7200KB/s, mint=600001msec, maxt=600001msec
Disk stats (read/write):
vdb: ios=1079640/0, merge=0/0, ticks=589523/0, in_queue=589382, util=98.27%
最後更新:2017-09-11 16:03:16