Tuesday, June 23, 2015

Adu VPS Cloud: CloudKilat vs DigitalOcean vs Linode vs DediServe

  in VPS 
Tahun 2014 kemarin, saya pernah tulis komparasi VPS: CloudKilat vs DigitalOcean vs RamNode. Tulisan tersebut saya rasa kurang relevan jika dibandingkan dengan sekarang, 2015. CloudKilat contohnya, mereka sudah banyak berubah, seperti upgrade bandwidthinternasional dan pemakaian SSD cache.
Hal yang akan saya komparasi selain bandwidth, tentunya juga sekarang adalah latensi dan kecepatan disk. Latensi berpengaruh pada kecepatan pengiriman paket data dan disk berpengaruh pada kecepatan baca tulis dari/ke database. Tentunya, semakin cepat semakin baik.
Baca juga: Apa itu VPS?
Pengujian dilakukan dengan pertimbangan bahwa target audiance kita adalah lokal.

CloudKilat vs DigitalOcean vs Linode vs DediServe

Sistem Operasi yang saya pakai adalah Debian 7 64 bit, setiap mesin memakai single core dam 1GB Ram, kecuali untuk DediServe.
Seperti yang saya sebutkan di atas, saya akan melakukan pengujian bandwidthdisk IO, CPU, dan RAM. Untuk versi 2015 kali ini, saya juga akan menambahkan latency. Latency sangat berpengaruh pada kecepatan pengiriman paket data.

Pengujian Bandwidth

Pada pengujian bandwidth, yang akan saya uji adalah kualitas bandwidth internasional dan bandwidth lokal. Di atas kertas setiap VM membuka port bandwidth:
ProviderBanwidthLokasi
CloudKilatInternational: up to 100 Mbps
Lokal: Up to 1 Gbps
Jakarta
DigitalOceanInternational: up to 1 GbpsSingapore
LinodeInternational: 125 MbpsFremont, CA, USA
DediServeInternational: 200 MbpsSingapore
Pertama yang akan saya uji adalah rute akses dan latesi. Latensi adalah interval waktu yang diperlukan antara request dan response. Semakin sedikit rute aksesnya dan semakin singkatlatency-nya, semakin baik.

CloudKilat

1234567
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 3.3% 30 1.3 1.8 1.1 6.3 1.1
2. 10.1.0.1 3.3% 30 14.6 16.1 9.1 39.9 6.3
3. 202.169.59.25 6.7% 30 33.3 24.4 9.2 84.3 17.5
4. 218.100.36.20 6.7% 30 23.8 18.3 11.7 31.2 5.1
5. 103.23.xxx.xxx 0.0% 30 23.3 15.8 10.5 28.2 3.8
view rawgistfile1.txt hosted with ❤ by GitHub

DigitalOcean

123456789
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 7.7% 13 1.3 2.2 1.2 8.6 2.0
2. 10.1.0.1 0.0% 13 28.8 18.5 10.8 29.4 6.2
3. 202.169.59.97 0.0% 12 12.3 46.8 11.2 203.3 57.3
4. 103.28.74.75 0.0% 12 11.6 21.4 9.8 79.1 18.8
5. 103.16.102.73 0.0% 12 31.0 29.1 25.2 42.5 4.6
6. 103.253.144.242 0.0% 12 31.0 30.5 24.9 58.8 9.1
7. hostname.xxxx.com 0.0% 12 33.4 34.3 24.4 79.7 15.8
view rawgistfile1.txt hosted with ❤ by GitHub

Linode

1234567891011121314151617
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 14.3% 7 2.3 2.1 1.3 4.8 1.3
2. 10.1.0.1 0.0% 7 14.3 51.2 12.5 256.1 90.5
3. 202.169.59.25 0.0% 7 13.5 44.5 13.5 200.2 68.9
4. 112.78.190.189 14.3% 7 13.7 16.9 11.7 34.4 8.6
5. 112.78.171.14 14.3% 7 18.4 21.8 13.8 32.4 8.2
6. sq-equ-1.biznetnetworks.com 14.3% 7 38.3 36.1 34.0 38.3 1.4
7. 112.78.190.110 0.0% 7 37.1 56.7 33.7 151.5 42.2
8. ge2-6.core1.sin1.he.net 14.3% 7 36.2 37.9 26.7 58.1 11.6
9. 10ge6-1.core1.hkg1.he.net 0.0% 7 67.9 76.8 57.5 139.3 28.1
10. 10ge1-1.core1.lax2.he.net 0.0% 7 247.7 268.2 218.7 384.9 54.9
11. 100ge2-1.core1.lax1.he.net 0.0% 7 215.6 254.9 215.6 329.6 40.7
12. 100ge15-1.core1.sjc2.he.net 0.0% 7 227.8 241.0 227.8 273.5 17.2
13. 184.105.222.13 0.0% 7 231.7 282.5 224.1 473.5 97.4
14. router3-fmt.linode.com 16.7% 6 231.7 232.8 229.0 243.0 5.8
15. hostname.xxxxsss.linode.com 0.0% 6 223.4 246.8 219.3 362.1 56.6
view rawgistfile1.txt hosted with ❤ by GitHub

DediServe

12345678910
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 0.0% 19 2.3 2.1 1.2 7.2 1.4
2. 10.1.0.1 5.3% 19 18.9 22.9 9.6 112.6 23.1
3. 202.169.59.25 5.3% 19 17.0 19.3 12.2 44.0 7.6
4. 112.78.190.189 0.0% 18 35.4 26.8 11.6 136.2 28.2
5. 112.78.171.14 0.0% 18 21.2 21.1 12.9 36.4 6.1
6. sq-equ-1.biznetnetworks.com 0.0% 18 48.9 39.5 30.1 53.9 7.9
7. 38001.sgw.equinix.com 0.0% 18 40.2 46.9 28.3 156.5 30.3
8. hostname.xxx.com 0.0% 18 29.4 34.7 27.0 82.8 13.2
view rawgistfile1.txt hosted with ❤ by GitHub
Pada pengujian di atas, bisa dilihat bahwa CloudKilat yang memiliki koneksi paling cepat. Hal ini wajar karena lokasi CloudKilat ada di Jakarta, kedua adalah DigitalOcean, ketiga DediServe, terakhir Linode. Saya sendiri melakukan pengujian memakai ISP biznet.
Rute (router)Latensi (ms)
CloudKilat310.5
DigitalOcean524.4
Linode13219.3
DediServe627
Hasil pengujian
Selanjutnya adalah pengujian bandwidth, untuk lokal saya akan mencoba dengan melakukan download iso dari kambing.ui.ac.id dan dionipe.com, sedangkan untuk internasional, saya akan melakukan download dari cachefly dan RamNode.

CloudKilat

12345678910111213141516171819
# Download Lokal Dionipe
wget http://mirror.dionipe.net/Centos/7.1.1503/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso
100%[====================================>] 4.310.695.936 83,7M/s in 80s
2015-04-18 02:40:31 (51,4 MB/s) - `CentOS-7-x86_64-DVD-1503-01.iso.1' saved [4310695936/4310695936]
 
# Download Lokal Kambing UI
wget http://kambing.ui.ac.id/pub/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-LiveCD.iso
100%[======================================>] 680.525.824 37,1M/s in 9,0s
2015-04-18 02:50:59 (72,3 MB/s) - `CentOS-6.5-x86_64-LiveCD.iso' saved [680525824/680525824]
 
# Download Internasional CacheFly
wget http://cachefly.cachefly.net/100mb.test
100%[======================================>] 104.857.600 36,5M/s in 2,7s
2015-04-18 02:57:21 (36,5 MB/s) - `100mb.test' saved [104857600/104857600]
 
# Download Internasional RamNode
wget http://lg.la.ramnode.com/static/1000MB.test
100%[====================================>] 1.000.000.000 16,2M/s in 65s
2015-04-18 02:59:39 (14,7 MB/s) - `1000MB.test' saved [1000000000/1000000000]
view rawgistfile1.txt hosted with ❤ by GitHub

DigitalOcean

12345678910111213141516171819
# Download Lokal Dionipe
wget http://mirror.dionipe.net/Centos/7.1.1503/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso
100%[====================================>] 4,310,695,936 20.3M/s in 77s
2015-04-17 20:06:47 (53.1 MB/s) - `CentOS-7-x86_64-DVD-1503-01.iso' saved [4310695936/4310695936]
 
# Download Lokal Kambing UI
wget http://kambing.ui.ac.id/pub/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-LiveCD.iso
100%[======================================>] 680,525,824 6.77M/s in 1m 40s
2015-04-17 20:09:32 (6.51 MB/s) - `CentOS-6.5-x86_64-LiveCD.iso' saved [680525824/680525824]
 
# Download Internasional CacheFly
wget http://cachefly.cachefly.net/100mb.test
100%[======================================>] 104,857,600 15.7M/s in 8.4s
2015-04-17 20:39:37 (11.9 MB/s) - `100mb.test' saved [104857600/104857600]
 
# Download Internasional RamNode
wget http://lg.la.ramnode.com/static/1000MB.test
100%[====================================>] 1,000,000,000 33.9M/s in 34s
2015-04-17 20:42:54 (27.9 MB/s) - `1000MB.test' saved [1000000000/1000000000]
view rawgistfile1.txt hosted with ❤ by GitHub

Linode

12345678910111213141516171819
# Download Lokal Dionipe
wget http://mirror.dionipe.net/Centos/7.1.1503/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso
100%[====================================>] 4.310.695.936 10,8M/s in 6m 56s
2015-04-18 03:58:21 (9,87 MB/s) - `CentOS-7-x86_64-DVD-1503-01.iso' saved [4310695936/4310695936]
 
# Download Lokal Kambing UI
wget http://kambing.ui.ac.id/pub/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-LiveCD.iso
100%[======================================>] 680.525.824 5,16M/s in 2m 26s
2015-04-18 04:04:29 (4,44 MB/s) - `CentOS-6.5-x86_64-LiveCD.iso' saved [680525824/680525824]
 
# Download Internasional CacheFly
wget http://cachefly.cachefly.net/100mb.test
100%[======================================>] 104.857.600 92,2M/s in 1,1s
2015-04-18 04:05:05 (92,2 MB/s) - `100mb.test' saved [104857600/104857600]
 
# Download Internasional RamNode
wget http://lg.la.ramnode.com/static/1000MB.test
100%[====================================>] 1.000.000.000 98,3M/s in 10s
2015-04-18 04:05:39 (93,0 MB/s) - `1000MB.test' saved [1000000000/1000000000]
view rawgistfile1.txt hosted with ❤ by GitHub

DediServe

12345678910111213141516171819
# Download Lokal Dionipe
wget http://mirror.dionipe.net/Centos/7.1.1503/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso
100%[====================================>] 4,310,695,936 9.51M/s in 7m 29s
2015-04-18 03:16:46 (9.16 MB/s) - `CentOS-7-x86_64-DVD-1503-01.iso' saved [4310695936/4310695936]
 
# Download Lokal Kambing UI
wget http://kambing.ui.ac.id/pub/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-LiveCD.iso
100%[======================================>] 680,525,824 8.56M/s in 76s
2015-04-18 03:07:27 (8.59 MB/s) - `CentOS-6.5-x86_64-LiveCD.iso.1' saved [680525824/680525824]
 
# Download Internasional CacheFly
wget http://cachefly.cachefly.net/100mb.test
100%[======================================>] 104,857,600 9.43M/s in 12s
2015-04-18 03:17:32 (8.38 MB/s) - `100mb.test' saved [104857600/104857600]
 
# Download Internasional RamNode
wget http://lg.la.ramnode.com/static/1000MB.test
100%[====================================>] 1,000,000,000 2.35M/s in 5m 23s
2015-04-18 03:23:21 (2.95 MB/s) - `1000MB.test' saved [1000000000/1000000000]
view rawgistfile1.txt hosted with ❤ by GitHub
Saya terkesan dengan CloudKilat, bisa saya bilang CloudKilat adalah provider lokal pertama yang saya coba yang memberikan bandwidth internasional tinggi, di atas 100 Mbps. Masalah klasik provider lokal seperti sulit kirim sitemap di Webmaster Tool atau SEO seharusnya bukan lagi masalah dengan bandwidth internasional yang tinggi seperti itu.
Pengujian bandwidth
Selanjutnya, kejutan juga datang dari DediServe, di atas kertas mereka mengklaim 200 Mbps untuk setiap VM. Nyatanya, bandwidth yang diberikan sekitar 100 Mbps.

Pengujian CPU

CPU ini sangat penting, terutama dalam meng-handle request yang masuk kepada website kita. Semakin banyak request yang bisa di-handle per satuan waktu, semakin baik.
Setiap VM yang saya uji memakai single core vCPU, kecuali untuk dediserve dual core vCPU. Berikut adalah jenis-jenis CPU yang digunakan.
ProviderModelvCore
CloudKilatIntel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHzSingle Core
DigitalOceanIntel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHzSingle Core
LinodeIntel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHzSingle Core
DediServeIntel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHzDual Core
Model CPU yang digunakan
DigitalOcean dan DediServe memakai CPU E5 model lama, sedangkan CloudKilat dan Linode memakai CPU E5 v2. Pengujian dilakukan menggunakan software sysbench, dengan parameter –num-threads=2 dan –cpu-max-prime=20000.

CloudKilat

1234567891011121314151617181920212223242526
sysbench 0.4.12: multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
total time: 35.8853s
total number of events: 10000
total time taken by event execution: 71.7640
per-request statistics:
min: 3.48ms
avg: 7.18ms
max: 125.66ms
approx. 95 percentile: 13.60ms
 
Threads fairness:
events (avg/stddev): 5000.0000/1.00
execution time (avg/stddev): 35.8820/0.00
view rawgistfile1.txt hosted with ❤ by GitHub

DigitalOcean

1234567891011121314151617181920212223242526
sysbench 0.4.12: multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
total time: 37.6638s
total number of events: 10000
total time taken by event execution: 75.3152
per-request statistics:
min: 3.51ms
avg: 7.53ms
max: 14.77ms
approx. 95 percentile: 8.19ms
 
Threads fairness:
events (avg/stddev): 5000.0000/0.00
execution time (avg/stddev): 37.6576/0.00
view rawgistfile1.txt hosted with ❤ by GitHub

Linode

12345678910111213141516171819202122232425
sysbench 0.5: multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
Random number generator seed is 0 and will be ignored
 
 
Primer numbers limit: 20000
 
Threads started!
 
 
General statistics:
total time: 34.7282s
total number of events: 10000
total time taken by event execution: 69.3917s
response time:
min: 3.28ms
avg: 6.94ms
max: 18.09ms
approx. 95 percentile: 10.13ms
 
Threads fairness:
events (avg/stddev): 5000.0000/1.00
execution time (avg/stddev): 34.6959/0.00
view rawgistfile1.txt hosted with ❤ by GitHub

DediServe

1234567891011121314151617181920212223242526
sysbench 0.4.12: multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
total time: 16.2677s
total number of events: 10000
total time taken by event execution: 32.5202
per-request statistics:
min: 3.17ms
avg: 3.25ms
max: 4.01ms
approx. 95 percentile: 3.45ms
 
Threads fairness:
events (avg/stddev): 5000.0000/3.00
execution time (avg/stddev): 16.2601/0.00
view rawgistfile1.txt hosted with ❤ by GitHub
Pada pengujian CPU, yang tercepat adalah DediServe dengan waktu eksekusi sekitar 16 detik, dua kali lebih cepat dari provider lain. Hal ini mudah ditebak, karena DediServe adalah satu-satunya yang memakai dual core dalam pengujian ini.
Pengujian CPU - Lebih singkat, lebih baik
Pengujian CPU – Lebih singkat, lebih baik

Pengujian Disk IO

Di atas kertas, semua mengklaim memakai pure SSD, kecuali CloudKilat yang memakai SSD Cache. Khusus untuk Linode dan DediServe, mereka juga mengklaim memakai enterprise SSD. Pengujian menggunakan perintah dd dengan size 1024 MB.

CloudKilat

123
1024+0 records in
1024+0 records out
1073741824 bytes (1,1 GB) copied, 3,2142 s, 334 MB/s
view rawgistfile1.txt hosted with ❤ by GitHub

DigitalOcean

123
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.65212 s, 190 MB/s
view rawgistfile1.txt hosted with ❤ by GitHub

Linode

123
1024+0 records in
1024+0 records out
1073741824 bytes (1,1 GB) copied, 1,42518 s, 753 MB/s
view rawgistfile1.txt hosted with ❤ by GitHub

DediServe

123
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.91843 s, 560 MB/s
view rawgistfile1.txt hosted with ❤ by GitHub
Hasil pengujian disk ini sudah saya perkirakan, dimana yang paling cepat adalah Linode dan DediServe, selanjutnya CloudKilat dan DigitalOcean. Khusus untuk DigitalOcean, meskipun mereka mengklaim memakai pure SSD, tetapi nyatanya hasilnya kalah dengan CloudKilat yang memakai SSD-cache.
Pengujian Disk IO - Lebih singkat, lebih baik
Pengujian Disk IO – Lebih singkat, lebih baik
Kecepatan baca tulis disk sangat penting, apalagi jika website yang berjalan adalah website dinamis dengan database yang besar.

Pengujian Memory

Pada pengujian memory, yang akan saya uji adalah kecepatan transfer. Menggunakan software sysbench dengan parameter –memory-total-size=1G.

CloudKilat

12345678910111213141516
Operations performed: 1048576 (2109879.29 ops/sec)
1024.00 MB transferred (2060.43 MB/sec)
 
Test execution summary:
total time: 0.4970s
total number of events: 1048576
total time taken by event execution: 0.3989
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.07ms
approx. 95 percentile: 0.00ms
 
Threads fairness:
events (avg/stddev): 1048576.0000/0.00
execution time (avg/stddev): 0.3989/0.00
view rawpengujian ram hosted with ❤ by GitHub

DigitalOcean

12345678910111213141516
Operations performed: 1048576 (809609.52 ops/sec)
1024.00 MB transferred (790.63 MB/sec)
 
Test execution summary:
total time: 1.2952s
total number of events: 1048576
total time taken by event execution: 1.0078
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.37ms
approx. 95 percentile: 0.00ms
 
Threads fairness:
events (avg/stddev): 1048576.0000/0.00
execution time (avg/stddev): 1.0078/0.00
view rawpengujian ram hosted with ❤ by GitHub

Linode

12345678910111213141516
Operations performed: 1048576 (461096.01 ops/sec)
1024.00 MB transferred (450.29 MB/sec)
 
General statistics:
total time: 2.2741s
total number of events: 1048576
total time taken by event execution: 1.1141s
response time:
min: 0.00ms
avg: 0.00ms
max: 0.11ms
approx. 95 percentile: 0.00ms
 
Threads fairness:
events (avg/stddev): 1048576.0000/0.00
execution time (avg/stddev): 1.1141/0.00
view rawpengujian ram hosted with ❤ by GitHub

DediServe

12345678910111213141516
Operations performed: 1048576 (279654.49 ops/sec)
1024.00 MB transferred (273.10 MB/sec)
 
Test execution summary:
total time: 3.7495s
total number of events: 1048576
total time taken by event execution: 2.8417
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.30ms
approx. 95 percentile: 0.00ms
 
Threads fairness:
events (avg/stddev): 1048576.0000/0.00
execution time (avg/stddev): 2.8417/0.00
view rawpengujian ram hosted with ❤ by GitHub
Kali ini yang menjadi tercepat adalah CloudKIlat dengan kecepatan transfer 2060.43 MB/sec, selanjutnya DigitalOcean, Linode, dan terakhir DediServe.
Pengujian Memory - Lebih tinggi, lebih baik
Pengujian Memory – Lebih tinggi, lebih baik
Selain untuk menyimpan proses yang berjalan, memory juga berpengaruh pada saat menyimpancache. Semakin cepat transfer rate, semakin bagus.

Kesimpulan

Memang, pengujian ini agak kurang fair, karena DediServe memakai dual core vCPU. Akan tetapi, dengan pertimbangan harga yang tidak jauh berbeda, saya memasukan DediServe.
Jika diurutkan, pilihan saya paling pertama jatuh pada CloudKilat, kemudian DigitalOcean, Linode, dan DediServe. Setiap VM memiliki teknologi yang tidak jauh berbeda, karenanya pertimbangan lain ada pada kualitas bandwidth dan target audience.
Karena prioritas utama adalah audience lokal, maka yang menjadi pilihan pertama adalah CloudKilat. CloudKilat memiliki latensi paling bagus untuk audience lokal. Selain itu, tidak ada lagi alasan klasik kurangnya banwidth internasional.
IMHO, CloudKilat merupakan penyedia VPS lokal pertama yang memberikan bandwidthinternasional sampai 100 Mbps dengan harga yang sangat murah.
Saya sendiri berencana memindahkan Pabelog ke CloudKilat VM jika bonus kredit DigitalOceansudah habis.
**
Pada kesempatan selanjutnya, saya akan membuat tutorial baru tentang instalasi WordPress di VPS dan load balance test. Jadi pastikan untuk subscribe dan begabung di grup facebook Pabelog.
https://pabelog.com/cloudkilat-vs-digitalocean-vs-linode-vs-dediserve/#more-5670