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 (nhiều server ảo chạy trên một server vật lý) để khai thác hiệu quả phần cứng server.
Hình 3. Các server ảo có đỉnh tải ở những thời điểm khác nhau |
Việc tích hợp giúp tăng hiệu suất làm việc của server, nhưng tăng như thế nào thì các công cụ benchmark hiện có chưa đo được. Thứ nhất, vì việc tích hợp tạo nên tình trạng server vật lý chịu đồng thời nhiều loại tải khác nhau, mỗi loại tải có phép đo khác nhau. Thứ hai, việc sử dụng tài nguyên không nhất quán, lúc thì ứng dụng này, lúc thì ứng dụng khác sử dụng tài nguyên hệ thống nhiều hơn, tạo nên nhiều đỉnh tải ở những thời điểm khác nhau. (Hình 3)
Vì những lý do trên, Intel, hãng đang đẩy mạnh ứng dụng công nghệ ảo hóa cho server, đã tự phát triển công cụ vConsolidate Workload để đánh giá hiệu suất ứng dụng ảo hóa trên server. Công cụ này có thể giả lập tải đồng thời 4 máy chủ: mail, web, ứng dụng và cơ sở dữ liệu. vConsolidate Workload (beta) được dùng trong nội bộ Intel để đánh giá các bộ xử lý đa nhân dùng cho server.
Hãng chuyên về công cụ benchmark, SPEC, hiện cũng đang phối hợp với một số công ty lớn trong ngành IT (gồm IBM, Intel, AMD, HP, VMware...) để xây dựng phương pháp đánh giá hiệu suất ảo hóa. Thông tin về dự án này có thể xem tại www.spec.org/specvirtualization.
Hiệu suất theo watt
Hình 4. Đo điện năng tiêu thụ đơn giản và chính xác |
Từng là “điểm yếu” của các hệ thống công suất cao, điện năng tiêu thụ giờ đây là thước đo quan trọng trong việc đánh giá tổng phí sở hữu (TCO) cho server, đặc biệt các server cao cấp (công suất cao và điện năng tiêu thụ cũng cao). Việc cân bằng giữa hiệu suất hoạt động với mức tiêu thụ điện năng có ý nghĩa rất quan trọng đối với các trung tâm dữ liệu gồm nhiều server; số tiền điện tiết kiệm được trong một năm của hàng trăm, thậm chí hàng ngàn server rất lớn.
Để đánh giá mức tiêu thụ điện năng, cách đơn giản và chính xác nhất là đo ngay tại ổ cắm điện (Hình 4). Thông số hiệu suất trên mỗi watt điện năng tiêu thụ được tính như sau: hiệu suất của hệ thống chia cho tổng điện năng tiêu thụ đo được tại ổ cắm trong suốt quá trình đo hiệu suất. Đây là cách Intel sử dụng để đánh giá hiệu suất theo watt cho các BXL đa nhân mới của hãng.
SPEC cũng đang phát triển công cụ SPECpower dùng để đánh giá hiệu suất sử dụng điện năng của hệ thống máy tính, dự kiến ra mắt trong quí 1/2007. Công cụ này sẽ sử dụng các ứng dụng đo benchmark hiện có để “ép” server làm việc và đo lượng điện năng mà hệ thống tiêu thụ.
Điểm số có giá
Tuy có một số công cụ benchmark có khả năng làm việc độc lập nhưng nhiều công cụ cũ vẫn cần đến các máy client nối mạng để tạo tải. Điều này có nghĩa là bạn cần thiết lập môi trường mạng để tạo tải cho server cần đo và việc này sinh ra vấn đề chi phí. Thêm nữa, trong khi nhiều công cụ đo benchmark cho PC miễn phí hay khá rẻ (chỉ cỡ vài chục USD) thì giá của các công cụ đo benchmark cho server rẻ lắm cũng phải cỡ vài trăm USD (với các công cụ cao cấp như SPEC jAppServer2004 và HPC2002, bạn phải tốn đến 2000USD và 3000 USD). Tuy cũng có giải pháp miễn phí như TPC nhưng việc thực hiện rất phức tạp.
Tuy tốn kém và mất nhiều thời gian, nhưng việc đánh giá hiệu suất server đáng với giá trị của nó. Làm sao người ta có thể bán hay đầu tư cho những hệ thống server có trị giá cỡ vài ngàn đến hàng chục ngàn USD trở lên mà không có điểm số chứng minh được nó thật sự mạnh!
SPEC VÀ TPC |
Hai cái tên nổi tiếng nhất trong lĩnh vực đo benchmark cho server, mỗi hãng đi theo con đường khác nhau nhưng có cùng mục tiêu. |
Phương Uyên