Cách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server

1749
23-08-2021
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

Cách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server  - Ảnh 1.

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

Cách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server  - Ảnh 2.

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ách kiểm tra hiệu năng trên Cloud Server Linux – Bizfly Cloud Server  - Ảnh 3.

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. 

SHARE