Cách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server
Hầu hết những khách hàng sử dụng Bizfly Cloud Server đều chọn lựa Cloud Server Linux. Nếu như một ngày nào đó, dịch vụ của bạn bị chậm hoặc ngừng hoạt động thì bạn cần phải biết cách kiểm tra hiệu năng trên Cloud Server Linux để tìm ra nguyên nhân và khắc phục tình trạng đó. Bài viết này sẽ hướng dẫn bạn cách làm việc này. Cùng theo dõi với Bizfly Cloud nhé.
1. Kiểm tra Ram
Quá trình kiểm tra hiệu năng trên Cloud Server Linux thường bắt đầu từ việc kiểm tra RAM của server. Bạn có thể gặp tình trạng báo lỗi “Error establishing a database connection” khi cố gắng truy cập vào website của mình và tại trang quản trị trên giao diện log của server sẽ có những log tương tự như “Out of memory: Kill process….". Những dấu hiệu này cho thấy bạn đã sử dụng hết RAM.
Bạn có thể kiểm tra lượng RAM free bằng câu lệnh free dưới đây nếu vẫn có thể truy cập vào server. Tuy nhiên, rất có thể quá trình truy cập và các thao tác kiểm tra sẽ trở nên chậm chạp hơn bình thường nên bạn cần phải kiên nhẫn nhé.
# sudo free –m
total used free shared buffers cached
Mem: 7975 7814 161 0 199 5523
-/+ buffers/cache: 2091 5883
Swap: 9534 459 9075
Nếu lượng free sau khi bỏ buffers/cache càng nhỏ tức là server của bạn càng thiếu RAM, bạn cần tăng RAM lên để đảm bảo server có thể hoạt động ổn định.
Sau khi bỏ buffers/cache nếu lượng RAM free vẫn rất nhỏ báo hiệu cho bạn thấy server của bạn bị thiếu RAM. Để server có thể hoạt động ổn định thì bạn cần phải tăng RAM lên. Bạn có thể liên hệ với nhà cung cấp để mua thêm RAM hoặc bạn có thể kiểm tra xem tiến trình nào trong hệ thống của mình đang chiếm dụng RAM và loại bỏ bớt những process không cần thiết.
Để làm được điều này bạn có thể dùng công cụ giám sát trạng thái của server có tên là htop. Quá trình thực hiện việc này có liên quan đến mục 2 của bài viết này. Bạn hãy theo dõi tiếp nhé.
2. Kiểm tra CPU
Bước kiểm tra hiệu năng trên cloud server tiếp theo bạn cần thực hiện là kiểm tra CPU của Cloud Server. Nếu bạn SSH vào server và các lệnh thực hiện chậm nghĩa là rất có thể CPU của server đã bị sử dụng hết hay còn được gọi là full CPU.
Như đã đề cập ở mục 1, bạn có thể sử dụng công cụ giám sát hệ thống HTOP để kiểm tra tình trạng CPU cũng như những process chiếm dụng RAM lớn.
Thao tác cài đặt như sau:
# sudo apt-get install htop // Ubuntu
# sudo yum install htop // CentOS
Và đây là cách khởi động HTOP
# htop
Bạn sẽ nhìn thấy được RAM và CPU đang được sử dụng ngay khi chạy lệnh. Theo mặc định, các process sẽ được sắp xếp theo mức độ chiếm dụng CPU. Nếu bạn muốn sắp xếp lại các process theo mức độ chiếm dụng RAM thì có thể sử dụng Shift + M hoặc ấn F6 để tùy chọn sắp xếp.
3. Kiểm tra ổ cứng
Khi kiểm tra hiệu năng trên cloud server, ngoài việc kiểm tra RAM và CPU, bạn còn cần phải kiểm tra ổ cứng. Quá trình kiểm tra ổ cứng bao gồm kiểm tra mức độ sử dụng ổ cứng và kiểm tra tốc độ đọc ghi ổ cứng.
Kiểm tra mức độ sử dụng ổ cứng
Nếu ổ cứng trên Cloud Server của bạn có mức độ sử dụng 100% thì có nghĩa là nó đã bị đầy và không thể nào ghi thêm dữ liệu được nữa. Tình trạng này sẽ biểu hiện như thế nào? Nếu bạn đang chạy website thì sẽ bị báo lỗi “Error establishing a database connection” khi tiến hành truy cập vào website đó. Ngoài ra, tại trang quản trị trên giao diện log của server sẽ có những log giống như thế này:
“OSError: [Errno 28] No space left on device:…."
Để kiểm tra chính xác lại tình trạng ổ cứng của cloud server, bạn cần phải truy cập trực tiếp vào bên trong server bằng câu lệnh như sau:
# sudo df –h
Filesystem Size Used Avail Use% Mounted on
udev 990M 12K 990M 1% /dev
tmpfs 201M 412K 200M 1% /run
/dev/vda1 24G 16G 7.2G 69% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1001M 72K 1001M 1% /run/shm
none 100M 0 100M 0% /run/user
Câu lệnh này sẽ hiển thị tình trạng sử dụng của các phân vùng, ở đây chúng ta sẽ lưu ý thư mục root (/), khi use 100% tức là ổ cứng của bạn đã đầy,
Tình trạng sử dụng của các phân vùng trong ổ cứng sẽ hiển thị ra cho bạn. Bạn nên để ý tới thư mục root (/), nếu hiển thị mức độ sử dụng là 100% nghĩa là ổ cứng của bạn đã đầy. Bạn cần kiểm tra các log hệ thống trong /var/log hoặc log trong control panel và xóa bớt dữ liệu không cần thiết đi. Nếu không muốn xóa bớt dữ liệu bạn có thể liên hệ với nhà cung cấp để nâng cấp thêm ổ cứng cho Cloud Server mà mình đang sử dụng nhé.
Kiểm tra tốc độ đọc ghi ổ cứng
Tốc độ đọc/ghi hay I/O speed của ổ cứng cũng là 1 chỉ số quan trọng khác bạn phải làm trong quá trình kiểm tra hiệu năng trên Cloud Server Linux của mình. Tốc độ đọc ghi ổ cứng phụ thuộc vào nhiều yếu tố khác nhau và nếu như tốc độ này diễn ra chậm chạp thì cũng sẽ ảnh hưởng rất lớn đến hiệu năng cloud server của bạn cho dù là CPU và RAM của bạn có tốt đến đâu đi nữa. Vậy làm sao để kiểm tra tốc độ đọc ghi ổ cứng trên Cloud Server Linux?
Sau đây, Bizfly Cloud sẽ hướng dẫn bạn câu lệnh đơn giản nhất để test tốc độ ổ cứng. Để làm được điều này, bạn hãy đi tới thư mục được mount vào ổ cứng tại terminal. Ví dụ thư mục đang cần kiểm tra server này là /mnt.
Làm sao để test tốc độ đọc/ghi ổ cứng của tôi?
$ cd /mnt
Sau đó, bạn hãy thử chạy lệnh:
$ dd if=/dev/zero of=test01 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.22553 s, 333 MB/s
Kết quả trên cho thấy tốc độ khá tốt, nhưng kết quả này chưa phản ánh đúng thực tế. Bạn cần phải chạy thêm lệnh tiếp theo để kiểm tra.
$ dd if=/dev/zero of=test01 bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 8.76874 s, 122 MB/s
So sánh 2 báo cáo trên, ta có thể thấy kết quả của chúng rất khác biệt. Vậy điều gì dẫn đến sự khác biệt này. Đó là thông số conv=fdatasync. Với câu lệnh chưa có option conv dữ liệu mới chỉ được ghi lại trên RAM chứ chưa ghi nhận trên ổ cứng. Ngược lại câu lệnh có option conv mới phản ánh được dữ liệu được ghi vào ổ cứng chứ không phải được ghi trên RAM và đây mới là kết quả phản ánh tốc độ đọc ghi ổ cứng thực tế.
Server đang chạy ví dụ có RAM 1GB, bạn có thể dùng file test01 có dung lượng lớn hơn dung lượng RAM để chạy câu lệnh không cần option conv mà vẫn phản ánh được tốc độ đọc ghi ổ cứng thực tế.
$ dd if=/dev/zero of=test01 bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 28.9963 s, 148 MB/s
Theo kinh nghiệm của nhiều người dùng thực tế thì tốc độ đọc ghi ổ cứng chuẩn là 50MB/s.
Điều này có nghĩa nếu ổ cứng của bạn đạt được tốc độ trên 50MB/s là ổn, trên 100MB/s là tốt. Nếu tốc độ ổ cứng của bạn đạt dưới 40MB/s là quá tệ và bạn phải tiến hành nâng cấp nó càng sớm càng tốt.
4. Kiểm tra băng thông
Một yếu tố sau cùng nhưng cũng không kém phần quan trọng trong quá trình kiểm tra hiệu năng trên Cloud Server Linux là băng thông. Nếu bạn không truy cập được vào website của mình và nhận báo lỗi Service Temporarily Overloaded hoặc Request Timeout thì bạn cần phải kiểm tra băng thông của Cloud Server của mình ngay lập tức.
Theo mặc định, khi khởi tạo 1 server sẽ có 100 Mbps free (khoảng 12,5MB). Server sẽ bị tắc nghẽn và không thể trao đổi thông tin ra bên ngoài nếu lượng kết nối đến server quá nhiều. Bạn có thể sử dụng công cụ bmon để kiểm tra mức độ sử dụng băng thông.
Bạn cần cài đặt như sau:
# sudo apt-get install bmon //Ubuntu
# sudo yum install bmon //CentOS
Sau đó hãy khởi động bmon để có thể kiểm tra tình trạng sử dụng băng thông trên server của mình.
# bmon
RX Bytes/second: là byte nhận được mỗi giây (received bytes per second)
TX Bytes/second: là byte truyền mỗi giây (transmitted bytes per second)
Mỗi server sẽ có 2 card mạng có tên là eth0 và eth1, trong đó card mạng eth1 dùng để kết nối ra internet, sử dụng câu lệnh sau để interface eth1.
# bmon -p eth1
Căn cứ vào ảnh minh họa trên, có thể thấy thông số server đang truyền đi hiện tại là 3,76MB và nhận vào là 802bytes.
Vậy là chúng ta đã cùng nhau tìm hiểu xong cách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server. Hy vọng bài viết này đã mang lại cho bạn những kiến thức cần thiết và bổ ích để áp dụng trong những tình huống cụ thể trong quá trình sử dụng Cloud Server tại Bizfly Cloud.