“Đ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 (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.

SPEC

SPEC (Standard Performance Evaluation Corporation) là một trong những tên tuổi nổi tiếng nhất trong lĩnh vực benchmark (cho cả server và PC). SPEC có nhiều công cụ đo benchmark dùng để đánh giá từ khả năng tính toán, khả năng phục vụ ứng dụng của server đến điện năng tiêu thụ. Công cụ SPEC CPU2006 (phiên bản mới nhất) dùng để đánh giá hiệu suất tính toán số nguyên và số thực của CPU, có thể giúp nhà cung cấp server xác định nên dùng BXL Opteron hay Xeon, hoặc nên chuyển sang BXL nhân đôi. SPECjbb2005 khá tốt cho việc đánh giá hiệu suất server theo mô hình ứng dụng client-server 3 cấp (mô hình ứng dụng phổ biến trên nền web) trên nền Java. Công cụ này có khả năng tự tạo tải mà không cần đến các máy client. Theo SPEC, công cụ benchmark cũng có thể dùng để đo hiệu suất CPU, bộ nhớ và khả năng nâng tải của các hệ thống nhiều bộ xử lý.

SPEC còn có một số công cụ dùng để đánh giá các mô hình ứng dụng máy chủ khác. SPECweb2005 cho phép đánh giá hiệu suất máy chủ web. MAIL2001 thực hiện chức năng tương tự với máy chủ mail. SPEC jAppServer2004 là một công cụ đo khác trên nền Java được thiết kế để đo hiệu suất của máy chủ ứng dụng J2EE. Và một nhóm công cụ đo HPC (High Performance Computing) dùng để đo hiệu suất cụm server công suất lớn.

Một số công cụ của SPEC vẫn cần đến các máy client nối mạng để tạo tải và giá của các công cụ SPEC từ vài trăm đến vài ngàn USD trở lên. Thông tin chi tiết về các công cụ của SPEC có thể xem ở website www.spec.org.

TPC

Một giải pháp khác, bạn có thể đi theo con đường miễn phí bằng cách sử dụng phương thức đo benchmark của TPC: TPC-App, TPC-C hay TPC-H. TPC-App dùng để đánh giá máy chủ phục vụ ứng dụng và dịch vụ web, mô phỏng các hoạt động của giao dịch B2B (doanh nghiệp với doanh nghiệp). TPC-C dùng để đánh giá máy chủ phục vụ cơ sở dữ liệu với các giao dịch trực tuyến, mô phỏng các hoạt động xử lý đơn hàng. TPC-H dùng để đánh giá các hệ thống phân tích dữ liệu nghiệp vụ hỗ trợ cho việc ra quyết định.

Các phép đo của TPC có lẽ là những phép đo khó nhất. Không có chương trình .exe nào cả. Thay vì vậy, TPC đưa ra các đặc tả kỹ thuật (hoàn toàn miễn phí) cho từng phép đo. Các tài liệu hơn 100 trang (có trên website www.tpc.org) đưa ra các yêu cầu của từng phép đo.

TPC là tổ chức phi lợi nhuận bao gồm 24 thành viên. Kết quả từ phép đo của TPC yêu cầu phải được kiểm định trước khi công bố. Nếu một hãng cung cấp server đưa ra điểm số benchmark theo phép đo của TPC mà các hãng khác không thể tái tạo thì họ có thể kiện. Nhờ vậy, các điểm số TPC được công bố luôn đảm bảo trung thực và cho phép so sánh giữa server này với server kia một cách chính xác.

Phương Uyên

Thứ Hai, 12/02/2007 09:33
31 👨 908
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản