Dữ liệu về người dùng thường được lưu trữ trong ổ đĩa của máy chủ. Nếu máy chủ chứa quá nhiều dữ liệu, đòi hỏi thời gian truy cập tăng thì việc truy xuất dữ liệu sẽ ảnh hưởng tới hiệu suất. Để tránh vấn đề này, bạn cần giám sát quá trình sử dụng Disk I/O. Vậy Disk I/O là gì và nó ảnh hưởng như thế nào tới web hosting? Hãy cùng VinaHost tìm hiểu qua bài viết này nhé.
1. Tổng hợp khái niệm về Disk I/O
Khi truy cập vào bất kỳ trang web nào, tốc độ tải trang là yếu tố quyết định đến trải nghiệm người dùng. Muốn khách hàng tiếp tục truy cập vào trang web của bạn, các bạn phải tìm nguyên nhân trang của bạn bị chậm. Lúc này, nhiệm vụ của Disk I/O thể hiện rõ rệt.
1.1. Disk I/O là gì?
Disk I/O (viết tắt của Disk Input/Output) là quá trình đọc-ghi hoặc nhập-xuất dữ liệu vào một đĩa vật lý. Disk I/O là thước đo hiệu suất của các thiết bị lưu trữ như ổ cứng, SSD và SAN. Disk I/O có ảnh hưởng đến tốc độ của web hosting vì nó xác định tốc độ web. Bên cạnh đó, Disk I/O tập hợp lệnh nhập và xuất mỗi giây trên hosting server.
Disk I/O được quản lý từ lập lịch đĩa (disk scheduling) và hệ điều hành dùng để lên lịch cho các yêu cầu truy cập đĩa. Lập lịch đĩa còn được gọi là lập lịch I/O (I/O scheduling). Khi có nhiều tiến trình gửi yêu cầu đến đĩa, bộ điều khiển (disk controller) chỉ đủ khả năng xử lý một yêu cầu cùng một lúc. Các yêu cầu còn lại phải xếp hàng và chờ đợi được lập lịch (queue). Nếu các yêu cầu không liền kề cùng nhau trên đĩa, thì tay đòn của đĩa (arm) sẽ di chuyển nhiều hơn.
Disk I/O còn phụ thuộc vào các yếu tố xung quanh như:
- Tốc độ quay
- Độ trễ
- Thời gian tìm kiếm
- Cấu hình RAID
- Khối lượng đọc và ghi của ổ đĩa
Disk I/O là thước đo tiêu chuẩn của hiệu suất nên được dùng để đánh giá các thiết bị lưu trữ. Disk I/O cho phép bạn theo dõi hoạt động đọc và ghi của đĩa logic trên hệ thống và cài đặt hạn mức cho phép. Nếu các chỉ số đề cập dưới đây đạt đến ngưỡng đặt trước, thì hệ thống sẽ tự động gửi thông báo đến người dùng.
- Số lần ghi (tính bằng đơn vị giây): Tốc độ thao tác ghi
- Số lần đọc (tính bằng đơn vị giây): Tốc độ hoạt động đọc
- Thời gian bận: % thời gian đã qua khi ổ đĩa cụ thể của người dùng đang bận thao tác các yêu cầu ghi hoặc đọc
- Queue length: Số lượng yêu cầu đọc và ghi đang đợi để được giải quyết trên đĩa (nằm trong hàng đợi, queue)
Xem thêm: Ổ Cứng Là Gì? | Có Bao Nhiêu Loại và Lựa Chọn Ổ Cứng Nào?
1.2. Disk I/O trong web hosting là gì?
Về cơ bản, Disk I/O trong web hosting không có khác biệt so với Disk I/O thông thường. Các nhà cung cấp dịch vụ hosting sử dụng thông số Disk I/O để theo dõi tốc độ thực hiện các hoạt động đọc-ghi hoặc đầu vào-đầu ra (Input/Output) của các thiết bị.
2. Các tính năng nổi bật trong Disk I/O
Disk I/O có 3 tính năng nổi bật.
2.1. Đọc/ghi hoặc nhập/xuất dữ liệu
Đây là quá trình cơ bản nhất của Disk I/O. Nó cho phép chúng ta lưu trữ và truy cập thông tin dữ liệu trên các thiết bị lưu trữ như ổ cứng, SSD và SAN.
2.2. Đo lường hiệu suất
Disk I/O dùng để đánh giá các thiết bị lưu trữ. Các bạn có thể đồng thời giám sát hoạt động đọc và ghi của đĩa logic trên hệ thống. Sau đó, bạn cũng có thể thiết lập hạn mức cho phép bằng Disk I/O.
2.3. Lập lịch đĩa
Lập lịch đĩa là tính năng quản lý kỹ thuật của Disk I/O. Đây là kỹ thuật được hệ điều hành sử dụng để lên lịch cho các yêu cầu truy cập đĩa. Lập lịch đĩa còn được gọi là lập lịch I/O (I/O scheduling).
Khi các tiến trình gửi các yêu cầu I/O đến đĩa, bộ điều khiển đĩa (disk controller) chỉ đủ khả năng xử lý một yêu cầu I/O tại một thời điểm. Các yêu cầu I/O khác phải xếp hàng chờ trong hàng đợi để được lập lịch. Nếu các yêu cầu I/O không gần nhau trên đĩa tay đòn, các yêu cầu đó sẽ phải di chuyển nhiều hơn.
3. Sức ảnh hưởng của Disk I/O đến tốc độ của hosting
Dùng I/O trong web hosting có nghĩa là nó sẽ có liên quan đến quá trình đọc và ghi trên đĩa cứng. Tốc độ I/O trên đĩa cứng sẽ xác định tốc độ mà trang web hoặc tập lệnh được phép thực hiện các thao tác nhập hoặc xuất trong mỗi giây trên hosting server của người dùng.
Do đó, phạm vi I/O càng mở rộng càng tốt. Bên cạnh đó, khi bất kỳ người dùng nào truy cập vào trang web của bạn, hosting server sẽ tiến hành thực hiện các hoạt động I/O. Hoặc khi người dùng gửi lẫn nhận email thì hosting server cũng thực hiện điều tương tự.
Nếu tốc độ Disk I/O ở máy chủ của bạn thấp, thì trang web và tập lệnh sẽ luôn hoạt động ở tốc độ chậm, bất kể tài nguyên dung lượng, băng thông, CPU hoặc RAM được cung cấp dồi dào trong gói web hosting của bạn. Một nền tảng hosting chậm sẽ khiến cho trang web sẽ hoạt động kém. Kết quả cuối cùng là thiệt hại về mặt trực tuyến sẽ ngày càng tăng. Điều này thậm chí gây ra tình trạng mất dữ liệu và mất tương tác trên Website.
Nếu cung cấp I/O cao, thì các nhà cung cấp dịch vụ lưu trữ web sẽ phải tốn nhiều chi phí hơn. Điều này lý giải vì sao họ giữ cho tốc độ I/O không quá 1MB/s đối với shared hosting.
Xem thêm: [Tìm Hiểu] 1GB bằng bao nhiêu KB? | Bảng đơn vị đo lường
4. Hướng dẫn cách kiểm tra hiệu suất Disk I/O trên máy chủ Windows và Linux
Để kiểm tra hiệu suất Disk I/O trên máy chủ, các bạn có thể tham khảo cách làm dưới đây, dành cho hệ điều hành Windows và Linux.
4.1. Cách kiểm tra hiệu suất Disk I/O trên máy chủ Linux
Đầu tiên, các bạn hãy nhập lệnh top trong thiết bị đầu cuối vì mục đích là kiểm tra khả năng tải trên máy chủ của bạn. Nếu đầu ra (Output) không đạt yêu cầu, thì bạn nên quan sát WA để nắm trạng thái đọc-ghi IPOS trên đĩa cứng.
Trong trường hợp tốc độ đọc-ghi cao thì các bạn nên check Disk IO trong hộp Linux bằng câu lệnh iotop hoặc iostat. Bằng cách sử dụng câu lệnh iotop, các bạn có thể kiểm tra quy trình sử dụng đĩa riêng lẻ.
- Khi bắt đầu với câu lệnh top
Bạn nhập câu lệnh:
$ iotop
Đầu ra sẽ như sau:
Bằng cách nhập câu lệnh iotop với tùy chọn o ($ iotop-o), các bạn sẽ nhận hoạt động I/O thực tế.
- Khi bắt đầu với câu lệnh iostat
Nhờ câu lệnh iostat, các bạn sẽ nhận được Output là hoạt động I/O của đĩa cứng riêng lẻ. Bên dưới là hình ảnh hiển thị 17 và 28% của ổ đĩa sử dụng.
Xem thêm: VPS Linux là gì? | Lý do nên sử dụng máy chủ VPS Linux
4.2. Cách kiểm tra hiệu suất Disk I/O trên máy chủ Windows
Các bạn có thể theo dõi hiệu quả sử dụng đĩa Windows bằng công cụ hỗ trợ Windows Performance Monitor được tích hợp trong các phiên bản Windows. Công cụ này cũng đã có sẵn các bộ đếm, nên các bạn có thể chọn tất cả và click phím DEL.
Tiếp theo, bạn click vào biểu tượng + và chọn đĩa vật lý (physical disk) từ nhiều đối tượng hiệu suất (performance object). Tiếp đó, công cụ sẽ hiển thị danh sách các bộ đếm có sẵn như sau:
Các bạn có thể chọn phiên bản mà bạn muốn kiểm tra. Mặc định có thể là _Total (màn hình giao diện này sẽ khác với Windows Server 2003 và 2008 R2). Tại đây, các bạn có thể chọn 4 mạch đếm (counters) như hình bên dưới. Đừng quên click vào mục Add sau mỗi lựa chọn.
- Avg. Disk sec/Transfer
- Disk Bytes/sec
- Disk Transfers/sec
- Avg. Disk Bytes/Transfer
Trong trường hợp các bạn chỉ muốn hiểu về các giá trị hiện tại (current values), các bạn nên thay đổi chế độ xem (view) từ Line thành Report trong tab biểu đồ. Màn hình sẽ hiển thị cho bạn các giá trị thực tế:
- Avg. Disk Bytes/Transfer: cung cấp về kích thước IO
- Disk sec/Transfer: có liên quan đến độ trễ trung bình
- Disk Bytes/sec: bằng với xuất lượng (Throughout)
- Disk Transfers/sec: là IOPS.
Trong quá trình kiểm tra hiệu suất hoạt động của Disk I/O bằng Windows Performance Monitor, các bạn nên lưu ý một số điều sau đây:
- Độ trễ thường được xác định bằng mili/giây và công cụ đo hiệu suất này cung cấp cho người dùng các giá trị cũng tính bằng giây. Vì vậy, bạn nên thay đổi thông số tương ứng theo từng đơn vị đo thích hợp (ví dụ 0,020s = 20 mili giây).
- IOPS được xác định bằng MB/s. Ở phiên bản Windows 2003, nó hiển thị giá trị tính bằng Byte/s. Do đó, các bạn nên chuyển đổi thông số dưới dạng 1 Byte/s = 1e-6 MB/s.
Xem thêm: VPS Windows là gì? | Lúc nào nên sử dụng VPS Windows
5. Hướng dẫn cách tối ưu hóa hiệu suất Disk I/O nhanh chóng
Để tối ưu hóa hiệu suất Disk I/O, các bạn có thể thử thực hiện 4 cách sau:
- Cách 1: Giải phóng dung lượng ổ đĩa bằng công cụ Disk Cleanup của Windows với mục đích xóa các tập tin tạm thời, các bản sao lưu đã cũ, các tập tin tải xuống không dùng đến và các tập tin khác không có liên quan đến công việc.
- Cách 2: Bạn xóa các phần mềm không quan trọng hoặc rất ít sử dụng để giảm bớt sức tải của ổ đĩa (đọc và ghi dữ liệu).
- Cách 3: Bạn sử dụng phần mềm CCleaner để xóa các tập tin rác trên Win10. Các tập tin rác có thể là cache, cookie, lịch sử duyệt web và các dữ liệu khác không liên quan.
- Cách 4: Bạn sử dụng tính năng “tối ưu hóa ổ đĩa của Windows” để sắp xếp các tập tin trên ổ đĩa (SSD hoặc HDD) để giảm độ trễ và tăng hiệu suất.
6. Các phương thức để tăng tốc độ Disk I/O
Nếu bạn đang sử dụng ổ cứng truyền thống, thì bạn nên cân nhắc thay ổ cứng mới cho thiết bị của bạn. Bạn có thể chọn ổ đĩa SSD hoặc HDD. Ổ đĩa SSD có tốc độ đọc và ghi nhanh. Bên cạnh đó, thời gian truy cập của máy sẽ nhanh hơn so với ổ đĩa cứng truyền thống. Hơn nữa, sử dụng bộ nhớ cache để lưu trữ cũng giúp giảm gánh nặng của ổ đĩa.
Một cách khác là bạn dùng CDN để giảm tải truy vấn tới ổ đĩa cứng và tăng tốc độ Disk I/O. Nó hoạt động bằng cách lưu trữ các tài nguyên dạng tĩnh (hình ảnh, CSS và Javascript) trên các máy chủ. Các máy chủ này thường phân tán trên khắp thế giới. CDN có khả năng tăng tốc độ tải trang web bằng cách cung cấp nội dung từ máy chủ gần nhất của bạn.
Ngoài ra, bạn cũng nên tối ưu hóa cấu trúc cơ sở dữ liệu và truy vấn cơ sở dữ liệu trang web của bạn bằng cách truy vấn SQL. Trang web của bạn cần được kiểm tra tình trạng thường xuyên để phân tích hiệu suất Disk I/O. Điều này giúp bạn có các giải pháp tối ưu hóa và cải thiện hiệu suất để đảm bảo tốc độ Disk I/O luôn trong trạng thái tốt nhất.
Xem thêm: CDN là gì? | Tổng hợp thông tin [A-Z] & Nhận CDN [FREE]
7. Tổng kết
Disk I/O đóng vai trò quan trọng vì nó liên quan tới quá trình đọc-ghi hoặc nhập-xuất dữ liệu vào một đĩa vật lý. Disk I/O không chỉ cho phép các bạn lưu trữ và truy cập dữ liệu trên các thiết bị lưu trữ mà còn là thước đo chuẩn mực để đo hiệu suất của các thiết bị lưu trữ. Việc kiểm tra và tăng tốc độ chạy của Disk I/O là cần thiết để nâng cao hiệu suất của máy tính, web và các ứng dụng.
Bạn có thể xem thêm các bài viết thú vị khác tại đây và đừng ngại ngần liên hệ với VinaHost nếu cần hỗ trợ nhé:
- Email: support@vinahost.vn
- Hotline: 1900 6046
- Livechat: https://livechat.vinahost.vn/chat.php
Xem thêm:
RAID là gì | Tìm hiểu các loại RAID & Cách triển khai [A-Z]
Ổ cứng HDD là gì? | So sánh ổ cứng HDD và SSD chi tiết
Hosting là gì? Tổng hợp kiến thức cần biết [A-Z] khi mua Web Hosting