Hơn 2 năm về trước, trong quá trình tìm kiếm một dịch vụ cloud server để làm cái trang personal home page cho vui, thì tôi có biết đến Digital Ocean (DO). Hồi đó DO nổi lắm, quảng cáo sử dụng SSD này nọ cũng dữ dội, ăn đứt các đối thủ cạnh tranh. Bên cạnh đó là cả những ưu điểm như sử dụng giải pháp hypervisor KVM, cung cấp gói rẻ nhất chỉ 5$/tháng, có datacenter ở Singapore …

Nói chung là hồi đó thật sự DO khó có đối thủ xứng tầm. Và tôi cũng khá hài lòng với gói 10$/tháng của DO.

Nhưng có một vấn đề là 2 năm rưỡi trôi qua, DO gần như dậm chân tại chỗ và chả có sự thay đổi nào cả (facepalm) Trước đây thế nào thì giờ nó vẫn thế đấy!
Trong khi nhìn qua thì những đối thủ khác đã có những bước tiến đáng kể. Đặc biệt là Linode.

Linode cũng bắt đầu chuyển sang SSD từ 2014, sau đó cũng đại hạ giá các plan của mình, để cung cấp gói 10$, rồi chuyển sang sử dụng mặc định KVM vào đầu năm 2016 này. Đặc biệt hơn, trong thông báo mừng sinh nhật tháng hồi tháng 6/2016 vừa qua, Linode tuyên bố tăng gấp đôi dung lượng RAM cho người dùng (ngon)

do

10$/tháng Digital Ocean

linode

10$/tháng Linode

Và thế là tôi bắt đầu tính đến việc chuyển server từ DO sang Linode.

Lúc đầu thì cũng ngại, sợ có vấn đề, hay rắc rối gì xảy ra. Nhưng thực tế bắt tay vào làm thì với vài ba câu lệnh rsyncmysqldump, tôi cơ bản hoàn thành chuyển toàn bộ dữ liệu, cũng như các config từ server DO sang server Linode trong có tầm tiếng đồng hồ.

Sau khi chuyển dữ liệu xong, tôi vẫn giữ cả 2 server chạy, và thử làm một vài phép so sánh nho nhỏ để xem mình thật sự có nên “chuyển nhà” hay không =))

CPU

Cả DO và Linode đều cấp cho người dùng 1GB ở gói 10$/tháng.
Check qua chất lượng CPU bên DO trước

cpu family  : 6
model       : 45
model name  : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
cpu MHz     : 1999.999
cache size  : 4096 KB

Trong đó bên Linode thì

cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
cpu MHz     : 2499.972
cache size  : 4096 KB

Tôi cũng không phải là rành về CPU nhiều lắm, nhưng nhìn vào cái thông số CPU E5-2680 với xung nhịp 2.5GHz của Linode so với CPU E5-2630L xung nhịp 2.00GHz của DO thì có vẻ Linode hơn hẳn. =))

RAM

Bên Linode hào phóng cho người dùng tận 2GB, gấp đôi so với 1GB của DO. Cái này chắc cũng chả cần so sánh gì nữa =))

Ổ cứng

Dạo này mới biết đến câu lệnh dd (disk dump ?), thôi dùng luôn nó để benkmark tốc độ đọc ghi ổ cứng xem sao. (honho)
Cả Digital Ocean và Linode đều dùng ổ SSD. Trên Linode thì ghi một file 1GB mất có 2.8 giây, tức tốc độ tầm 380MB/s. Trong khi một vài server khác mà tôi làm việc có tốc độ ghi tầm 570MB/s thì rõ ràng 380MB/s không phải là một số lớn, nhưng cũng tạm ở mức chấp nhận được.

$ dd if=/dev/zero of=tempfile bs=1G count=1 conv=fdatasync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.85646 s, 376 MB/s

Trong khi đó không hiểu sao trên DO lại chậm một cách khó hiểu (wtf2)

$ dd if=/dev/zero of=tempfile bs=1G count=1 conv=fdatasync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 51.4768 s, 20.9 MB/s

No idea (dull)

Thử lại với block size là 1MB xem sao

$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 29.3163 s, 36.6 MB/s

Không khác là mấy, không hiểu sao lại chậm như thế luôn :-s. Trong khi đó bên Linode thì khác biệt hẳn

$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.73766 s, 618 MB/s

Thôi chuyển sang benchmark tốc độ đọc vậy :D
Bên Linode cho kết quả đọc khá nhanh, tầm 1.2GB/s

$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.911891 s, 1.2 GB/s

Tuy rằng đó không phải là một con số gì quá ấn tượng, nhưng ít ra cũng tạo ra sự khác biệt quá lớn với bên DO

$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 10.3123 s, 104 MB/s

Có thể lượng RAM quá ít cũng như CPU yếu đã ảnh hưởng đến tốc độ đọc ghi của bên DO chăng :-? Hay là server DO của mình có vấn đề gì nhỉ :-s

Còn về dung lượng thì DO cho đến 30GB, trong khi Linode chỉ cho có 24GB. Có lẽ đây là một trong những yếu tố hiếm hoi mà DO ăn được Linode. Tuy nhiên chắc cũng chả bao giờ dùng đến mức vài chục GB như thế nên cũng chả quan tâm lắm =))

Network

Cả 2 bên đều cho 2TB bandwidth, coi như hoà.
Cả 2 server đều đặt ở Singapore. Bên Linode thì ghi rõ tốc độ đường truyền 40 Gbps Network In, 125 Mbps Network Out, nhưng bên DO thì không. Tôi cũng không quá coi trọng vấn đề này lắm, bởi mấy cái trang thangtd.com chẳng bao giờ có số lượng người dùng lớn để mà tận dụng hết băng thông đó cả =))

Chuyển qua test tốc độ đường truyền mạng từ nhà đến server có lẽ thiết thực hơn =))

Ping thử cái.

Trước tiên là DO. Tôi vẫn đã quá quen với việc ping time tầm 200ms đến server DO của mình rồi. Ngồi nhà ssh vào server khá là khó chịu khi mà độ trễ khá lớn (sad)

Trong khi ping time của Linode thật sự quá bất ngờ

64 bytes from 139.162.6.71: icmp_seq=0 ttl=52 time=63.463 ms
Request timeout for icmp_seq 1
64 bytes from 139.162.6.71: icmp_seq=2 ttl=52 time=58.363 ms
64 bytes from 139.162.6.71: icmp_seq=3 ttl=52 time=57.322 ms
Request timeout for icmp_seq 4
64 bytes from 139.162.6.71: icmp_seq=5 ttl=52 time=58.211 ms
64 bytes from 139.162.6.71: icmp_seq=6 ttl=52 time=58.271 ms
64 bytes from 139.162.6.71: icmp_seq=7 ttl=52 time=57.069 ms

Tầm dưới 60ms! Mặc dù không hiểu sao lại có cái bị timeout =))
Nhưng mà phải nói rằng ssh vào server Linode rất tuyệt, không có cảm giác bị giật lag như trên DO.

Tổng hợp

Nào là CPU, RAM, SSD, Network …, tất cả những cái đó cũng chỉ là để phục vụ cho việc mình chạy cái site thangtd.com này mà thôi. Thế nên điều quan trọng nhất vẫn là việc access đến trang thangtd.com hay chatpp.thangtd.com có gì thay đổi không =))

Thử bật phần network của Chrome nên test cái. Việc test request đến Linode server rất đơn giản, bởi domain thangtd.com hiện đã được trỏ về server này rồi, tuy nhiên để test được request đến server DO thì phải dùng trick một chút, đó là phải sửa file hosts để trỏ domain đến địa chị IP của server DO =))

Các bài test được thực hiện với đường mạng tại nhà, ở Chrome incognito mode, hoàn toàn không có extension nào can thiệp.

Và đây là kết quả.

  • Ở bài test với trang thangtd.com, DO mất 8.9s để load xong hoàn toàn. Reload lại thì mất 5.37s (do phần lớn asset đã được cache). Trong khi đó Linode chỉ mất 4.27s khi load mới, và 2.69s khi reload. Tức nhanh hơn gấp đôi (ngon)
  • Ở bài test với trang chatpp.thangtd.com, trong khi DO mất 2.86s với 2.65s để load và reload, thì bên Linode mất 825ms với 876ms khi load và reload. Tức là nhanh hơn phải đến hơn 3 lần (ngon)

Vậy là ít nhất với đường mạng gia đình hiện tại, thì tốc độ truy cập đến thangtd.com đã tăng lên từ 200 ~ 300% (honho)

# echo "Goodbye Digital Ocean"; shutdown -h now "Thanks for 2.5 years!"
# echo "Hello Linode!"

P/S: Nhân dịp chuyển nhà cũng update trang About Me với trang Home Page một chút. Có thêm vào một câu nói, một tư tưởng nổi tiếng mà tôi vẫn luôn cố gắng học tập theo trong thời gian gần đây (honho) (quaylen)

0 comments

Leave a reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.