“Đo” server - Tốn kém nhưng đáng để thực hiện
Nguyên tắc đánh giá hiệu suất của hệ thống máy tính - hay còn gọi là đo
benchmark - khá đơn giản: cho chạy giả lập qui trình công việc đặc
trưng trên hệ thống cần đánh giá và đo thời gian hoàn tất qui trình này.
Với hệ thống máy tính dành cho người dùng cá nhân (PC), các ứng dụng văn
phòng, chương trình đồ họa và game là những thước đo hoàn hảo. Công cụ
đo benchmark cho PC có nhiều, không quá đắt (thậm chí còn miễn phí) và
không quá phức tạp để thực hiện. Chỉ mất một buổi hay một ngày là bạn có
thể lấy được điểm số benchmark để khoe hay “đọ” với hệ thống PC khác.
Việc đo benchmark cho server (máy chủ) tốn nhiều công sức và phức tạp so
với PC. Phần cứng và phần mềm server có công suất cao hơn, chuyên dụng
hơn, môi trường đo benchmark thường yêu cầu nhiều máy móc hơn (như
thiết bị hub hay switch và các máy tính client để tạo môi trường mạng) và
cần thực hiện nhiều việc cài đặt phức tạp. Thời gian có thể mất nhiều ngày
hay nhiều tuần.
Trước đây người ta không quan tâm tới việc đo benchmark cho server vì các
hãng lớn chuyên cung cấp server có những chuyên gia nhiều kinh nghiệm đã
thiết kế cấu hình server tối ưu cho ứng dụng cụ thể hay theo đơn đặt hàng
nào đó. Hiện nay, server đã trở nên “bình dân” hơn, các cửa hàng máy tính
và người dùng cũng có thể lắp ráp hay nâng cấp server (gắn thêm RAM hay
CPU), việc thực hiện cũng đơn giản như làm với PC, vì vậy nảy sinh nhu
cầu đánh giá hiệu suất server để giúp cho việc chọn cấu hình tối ưu. Nhiều
ứng dụng trên server nhạy cảm với cấu hình hệ thống. Điểm số benchmark
sẽ giúp chỉ ra giữa việc tăng gấp đôi bộ nhớ hay gắn thêm CPU, yếu tố nào
cải thiện hiệu suất tốt hơn cho server phục vụ web (web server) hay server
phục vụ cơ sở dữ liệu (database server). Dĩ nhiên, nếu không phải đắn đo về
tài chính, bạn có thể gắn nhiều CPU (với tần số xung nhịp cao ngất) và tăng
dung lượng bộ nhớ thật cao mà không phải bận tâm đến các điểm số
benchmark. (Hình 1)
Hình 1. Ứng dụng trên server nhạy cảm với cấu hình phần cứng server
(Nguồn: Intel)
Hiệu suất theo ứng dụng thực
Chỉ cần 10 phút chạy Windows Media Encore 9, bạn có thể hình dung về
sức mạnh của hệ thống Pentium D hai nhân so với Pentium 4, nhưng sẽ
không biết nó có chạy tốt ứng dụng SAP hay SQL Server 2005 hay không.
Một mail server cấu hình mạnh có thể không chạy tốt DOOM 3 (một công
cụ đo phổ biến cho PC) vì nó được thiết kế để phục vụ email chứ không phải
để chơi game.
Hình 2. Đo hiệu suất server theo mô
hình ứng dụng thực
Các phần mềm đo benchmark cho PC không thể đánh giá chính xác hiệu
suất của server. Tuy nhiên, tương tự như PC, server cũng được đo hiệu suất
theo 2 phương thức: thành phần linh kiện và ứng dụng thực. Phương thức
đầu đo hiệu suất các thành phần như băng thông của bộ nhớ hay card mạng.
Phương thức này cho các điểm số hiệu suất tối đa có tính lý thuyết. Có thể
kể một số công cụ đo benchmark có tiếng theo phương thức này như
SPECCPU, Sandra, Stream ...
Phương thức thứ hai mô phỏng các ứng dụng thực để vẽ nên bức tranh tổng
quát về khả năng đáp ứng của server trong môi trường làm việc thực tế.
Phương thức này có ý nghĩa thiết thực hơn phương thức đầu.
Có một số công cụ đo benchmark cho server theo ứng dụng thực từ các hãng
phần mềm nổi tiếng, ví dụ hãng cung cấp giải pháp doanh nghiệp SAP
(www.sap.com) có công cụ mySAP Business Suite để đánh giá khả năng
server đáp ứng số người dùng ứng dụng ERP (Sales & Distribution - SD);
hãng cung cấp dịch vụ tài chính SunGard (www.sungard.com) có công cụ
quản lý rủi ro và tín dụng (Adaptiv Credit Risk - ACR, công cụ này được
Intel dùng để đánh giá khả năng tính toán của server dùng các bộ xử lý đa
nhân mới ra mắt gần đây). Hay công cụ Lotus NotesBench
(www.notesbench.org) mô phỏng hoạt động giữa máy trạm Domino với
server và giữa server với server dùng để đánh giá khả năng phục vụ của máy
chủ mail Lotus Notes của IBM. Microsoft cũng có công cụ MMB3 dùng để
đánh giá máy chủ mail MS Exchange và công cụ SQLIOStress để đánh giá
khả năng máy chủ đáp ứng cơ sở dữ liệu SQL Server. (Hình 2)
Có thể phân 4 nhóm công cụ đo benchmark cho server theo ứng dụng
thực:
• Tính toán (server cơ bản): Linpack, SunGuard ACR, SysBench,
SPECapc/SPECviewperf ...
• Phục vụ web (server cấp thấp): WebBench, SPECWeb ...
• Phục vụ ứng dụng (server cấp trung): NetBench, MS Exchange MMB3,
R6iNotes, SPECjbb, SPECjAppServer ...
• Phục vụ cơ sở dữ liệu (server cấp cao): SAP SD, TPC-C/TPC-H ...
Hiệu suất ảo
Công nghệ ảo hóa cho phép chạy nhiều hệ điều hành và nhiều phần mềm
ứng dụng trên cùng một server vật lý, đem đến khả năng tích hợp server