Đối với máy chủ, câu hỏi quan trọng không phải là bạn cần “nhiều lõi hơn”, “tần số cao hơn” hay “nhiều RAM hơn” một cách riêng lẻ, mà là cấu hình đó có phù hợp với khối lượng công việc thực tế hay không. Cơ sở dữ liệu và ảo hóa thường cần sự cân bằng giữa CPU, bộ nhớ và lưu trữ tốc độ cao; hệ thống ERP và một số ứng dụng kinh doanh có thể nhạy cảm với hiệu năng đơn lõi; dịch vụ web được hưởng lợi từ việc mở rộng quy mô trên nhiều lõi; phân tích và bộ nhớ đệm yêu cầu lượng bộ nhớ lớn; suy luận AI thường phụ thuộc vào GPU và bộ nhớ video; và lưu trữ tệp phụ thuộc vào ổ đĩa, mạng và bộ nhớ đệm. Đó là lý do tại sao nên chọn máy chủ dựa trên nhiệm vụ, chứ không phải dựa trên số lượng lõi tối đa trong thông số kỹ thuật.
Việc so sánh “số lõi xử lý so với tần số xung nhịp so với RAM” rất hữu ích cho cuộc thảo luận ban đầu, nhưng lại không hiệu quả khi dùng làm phương pháp lựa chọn. Cùng một máy chủ có thể hoạt động tốt với ảo hóa mật độ cao nhưng lại chỉ ở mức trung bình đối với cơ sở dữ liệu có nhiều truy vấn. Một máy chủ khác với ít lõi hơn nhưng hiệu năng đơn lõi mạnh hơn có thể phù hợp hơn cho hệ thống kế toán hoặc khối lượng công việc phân tích. Một lựa chọn thứ ba với dung lượng bộ nhớ lớn sẽ hữu ích hơn khi các tập dữ liệu hoạt động, bộ nhớ đệm hoặc hàng chục máy ảo cần được lưu trữ trong RAM.
Nếu bạn chỉ chọn máy chủ dựa trên một thông số duy nhất, rất dễ dẫn đến sự mất cân bằng. Nhiều lõi xử lý sẽ không giúp ích gì nếu ứng dụng chỉ sử dụng một hoặc hai luồng. Tần số cao sẽ không cứu vãn được hệ thống nếu máy chủ thiếu bộ nhớ và bắt đầu sử dụng bộ nhớ ảo (swap). Dung lượng RAM lớn sẽ không làm tăng tốc một dịch vụ bị hạn chế bởi ổ đĩa chậm hoặc mạng quá tải. Do đó, sự lựa chọn đúng đắn không bắt đầu từ kiểu bộ xử lý, mà từ cấu hình khối lượng công việc.

Các thuật ngữ được sử dụng trong bài viết
CPU — bộ xử lý trung tâm của máy chủ. Trong bài viết này, CPU thường được hiểu là các bộ xử lý vật lý, bao gồm lõi, tần số, bộ nhớ đệm và kiến trúc của chúng.
RAM — bộ nhớ truy cập ngẫu nhiên của máy chủ. Nó được sử dụng cho dữ liệu hoạt động, bộ nhớ đệm, máy ảo, bộ nhớ tạm, truy vấn và các tiến trình hệ thống.
vCPU — bộ xử lý ảo được hypervisor cấp phát cho máy ảo. Một vCPU không phải lúc nào cũng tương đương với một lõi vật lý: hypervisor phân bổ vCPU trên các lõi máy chủ thực.
CPU sẵn sàng — một chỉ số ảo hóa cho biết máy ảo đã chờ bao lâu để truy cập vào bộ xử lý vật lý. Giá trị cao có thể có nghĩa là máy chủ đã phân bổ quá nhiều vCPU hoặc không đủ tài nguyên CPU vật lý.
Cấp phát tài nguyên vượt mức — phân bổ tài nguyên vượt quá khả năng thực tế của máy chủ. Ví dụ, khi các máy ảo được phân bổ tổng số vCPU hoặc RAM nhiều hơn so với tài nguyên vật lý mà máy chủ có. Việc cấp phát CPU vượt mức thường được chấp nhận; việc cấp phát RAM vượt mức thì rủi ro hơn.
Tệp hoán đổi/tệp hoán đổi — một tệp phân trang. Đây là việc sử dụng ổ đĩa như một phần mở rộng tạm thời của RAM. Nó chậm hơn nhiều so với RAM và thường cho thấy sự thiếu hụt bộ nhớ hoặc thiết lập khối lượng công việc không chính xác.
Ballooning — một cơ chế của hypervisor cho phép thu hồi một phần bộ nhớ của máy ảo khi máy chủ thiếu RAM. Cơ chế này có thể hữu ích, nhưng nếu nó hoạt động thường xuyên, điều đó thường cho thấy máy đang bị quá tải bộ nhớ.
NUMA — một kiến trúc máy chủ đa xử lý trong đó bộ nhớ được liên kết vật lý với một bộ xử lý cụ thể. Nếu một bộ xử lý truy cập bộ nhớ được gắn với một socket khác, độ trễ sẽ cao hơn.
IOPS — số lượng thao tác nhập/xuất mỗi giây. Điều này rất quan trọng đối với cơ sở dữ liệu, VDI, ảo hóa và các khối lượng công việc khác có nhiều thao tác nhỏ.
Độ trễ — thời gian phản hồi của hệ thống, ổ đĩa, mạng hoặc ứng dụng. Đối với khối lượng công việc máy chủ, độ trễ thấp có thể quan trọng hơn thông lượng tối đa tính bằng megabyte mỗi giây.
Bộ đệm dùng chung — một thiết lập của PostgreSQL xác định lượng bộ nhớ được phân bổ cho bộ nhớ đệm dùng chung của cơ sở dữ liệu.
work_mem — một thiết lập của PostgreSQL xác định lượng bộ nhớ được sử dụng cho việc sắp xếp, băm và một số thao tác trung gian của một truy vấn duy nhất.
maintenance_work_mem — một thiết lập của PostgreSQL dành cho các hoạt động bảo trì: tạo chỉ mục, vacuum, alter table và các tác vụ quản trị khác.
Bộ nhớ máy chủ tối đa — một thiết lập của SQL Server giới hạn lượng RAM tối đa mà SQL Server có thể sử dụng. Thiết lập này cần thiết để cơ sở dữ liệu không chiếm hết bộ nhớ của hệ điều hành và các dịch vụ khác.
Vùng nhớ đệm (Buffer pool) — một vùng nhớ của SQL Server dùng để lưu trữ dữ liệu và các trang chỉ mục. Càng nhiều dữ liệu hữu ích được lưu trữ trong vùng nhớ đệm, số lần truy cập đĩa càng ít.
Tỷ lệ truy cập bộ nhớ cache — một chỉ số cho thấy tần suất hệ thống tìm thấy dữ liệu cần thiết trong bộ nhớ cache thay vì truy cập ổ đĩa. Giá trị thấp có thể cho thấy bộ nhớ không đủ hoặc cấu hình khối lượng công việc không phù hợp.
GPU — đơn vị xử lý đồ họa. Trong các tác vụ máy chủ, nó không chỉ được sử dụng cho đồ họa mà còn cho suy luận AI, học máy, xử lý video và tính toán song song.
VRAM — bộ nhớ video của GPU. Đối với suy luận AI, nó thường quan trọng hơn số lượng lõi CPU vì để đạt hiệu suất tối ưu, mô hình cần phải nằm gọn trong bộ nhớ của bộ tăng tốc.
PCIe — giao diện dùng để kết nối các thiết bị tốc độ cao: GPU, ổ đĩa NVMe và card mạng. Nó rất quan trọng đối với các máy chủ có bộ tăng tốc, bộ nhớ lưu trữ nhanh và mạng tốc độ cao.
Gom nhóm — kết hợp nhiều yêu cầu thành một nhóm duy nhất trong quá trình suy luận AI. Điều này có thể tăng thông lượng, nhưng trong một số trường hợp, nó cũng làm tăng độ trễ phản hồi.
Xử lý song song — xử lý nhiều yêu cầu hoặc tác vụ cùng lúc. Nó ảnh hưởng đến việc tính toán CPU, RAM, GPU và hàng đợi xử lý.
RPO — mức độ mất dữ liệu chấp nhận được trong trường hợp xảy ra sự cố. Ví dụ, RPO 15 phút có nghĩa là công ty sẵn sàng chấp nhận mất tối đa 15 phút dữ liệu tích lũy.
RTO — thời gian khôi phục chấp nhận được sau khi xảy ra sự cố. Ví dụ, RTO 1 giờ có nghĩa là dịch vụ phải được khôi phục trong vòng một giờ.
Vì sao không nên chọn máy chủ chỉ dựa trên một thông số duy nhất?
Máy chủ không chỉ đơn thuần là một bộ xử lý. Hiệu năng của nó phụ thuộc vào bộ xử lý, RAM, ổ đĩa, card mạng, bộ điều khiển RAID, hệ thống làm mát, nguồn điện, cài đặt BIOS, hypervisor, hệ điều hành và các ứng dụng. Trong cơ sở hạ tầng thực tế, điểm nghẽn có thể là một thành phần không зда có vẻ quan trọng nhất trong một đề xuất thương mại.
Nếu khối lượng công việc đang chờ ổ đĩa phản hồi, các lõi xử lý bổ sung sẽ ở trạng thái nhàn rỗi. Nếu một ứng dụng thiếu bộ nhớ, hệ điều hành sẽ chủ động sử dụng ổ đĩa như một phần mở rộng tạm thời của RAM, và độ trễ sẽ tăng mạnh. Nếu một dịch vụ không được xử lý song song tốt, việc tăng số lượng lõi sẽ không mang lại hiệu suất như mong đợi. Nếu máy chủ làm việc với các tập tin hoặc bản sao lưu, mạng có thể trở nên quan trọng hơn tần số xử lý của bộ vi xử lý.
Ngoài ra còn có yếu tố kinh tế. Một số cơ sở dữ liệu, hypervisor và ứng dụng doanh nghiệp được cấp phép theo lõi, socket hoặc người dùng. Trong trường hợp này, bộ xử lý có nhiều lõi không chỉ tăng hiệu năng mà còn giảm chi phí cấp phép. Đôi khi, việc chọn ít lõi hơn nhưng tốc độ nhanh hơn sẽ tiết kiệm chi phí hơn nếu khối lượng công việc nhạy cảm với tốc độ phản hồi đơn luồng.
Do đó, câu hỏi đúng hơn không phải là “điều gì quan trọng hơn — số lõi, tần số hay RAM?” mà là “thành phần nào sẽ trở thành yếu tố hạn chế đối với khối lượng công việc cụ thể này?” Câu trả lời sẽ khác nhau đối với cơ sở dữ liệu, ảo hóa, máy chủ tập tin và suy luận AI.
Các lõi bổ sung cung cấp những gì?
Các lõi xử lý giúp thực hiện nhiều tác vụ song song. Ứng dụng hoặc nền tảng càng có thể khởi chạy nhiều luồng công việc độc lập, thì các lõi bổ sung càng mang lại nhiều lợi ích. Điều này đặc biệt dễ nhận thấy trong ảo hóa, môi trường container, dịch vụ web với nhiều yêu cầu, xử lý hàng đợi, phân tích, xây dựng, kết xuất và xử lý dữ liệu theo lô.
Trong ảo hóa, cần có các lõi xử lý vì nhiều máy ảo chạy trên một máy chủ vật lý duy nhất. Mỗi máy ảo nhận được các bộ xử lý ảo, và trình quản lý ảo hóa sẽ phân phối chúng trên các lõi vật lý. Càng nhiều máy ảo và càng nhiều máy ảo hoạt động cùng lúc, thì nhu cầu về lõi vật lý càng lớn. Nhưng điều này không có nghĩa là mọi máy chủ ảo hóa đều cần được trang bị số lượng lõi tối đa. Quá nhiều CPU ảo được gán cho mỗi máy ảo có thể làm cho việc lập lịch trở nên tồi tệ hơn: trình quản lý ảo hóa sẽ khó tìm thấy tài nguyên trống để chạy tất cả các luồng của một máy ảo lớn.
Trong các dịch vụ web, lõi xử lý rất hữu ích khi có nhiều yêu cầu đồng thời, các tác vụ nền, tiến trình xử lý, container hoặc hàng đợi. Nhưng nếu mọi yêu cầu đều bị giới hạn bởi cơ sở dữ liệu chứ không phải máy chủ web, thì việc thêm lõi xử lý ở phía giao diện người dùng sẽ không giải quyết được vấn đề. Điều tương tự cũng áp dụng cho các dịch vụ tệp: nếu giới hạn nằm ở mạng hoặc ổ đĩa, bộ xử lý sẽ vẫn hoạt động dưới tải.
Việc tăng thêm lõi xử lý hầu như không bao giờ mang lại sự tăng trưởng tuyến tính. Các ứng dụng có các phần xử lý tuần tự, khóa, chờ đĩa, độ trễ mạng và chi phí của bộ lập lịch. Đó là lý do tại sao việc chuyển từ 8 lên 16 lõi có thể mang lại sự cải thiện đáng kể, trong khi việc chuyển từ 32 lên 64 lõi có thể mang lại lợi ích nhỏ hơn nhiều nếu bản thân khối lượng công việc không thể sử dụng song song một cách hiệu quả.
Tần số xử lý cao mang lại những lợi ích gì?
Tần số cao rất quan trọng đối với các tác vụ không thể song song hóa tốt hoặc nhạy cảm với tốc độ của một luồng đơn lẻ. Nhưng tần số không phải là chỉ số duy nhất. Hai bộ xử lý có cùng tốc độ gigahertz nhưng thuộc các thế hệ khác nhau có thể khác biệt đáng kể về hiệu năng thực tế. Kiến trúc, bộ nhớ đệm, số lệnh trên mỗi xung nhịp, bộ nhớ, mức tiêu thụ điện năng và đặc tính nhiệt đều ảnh hưởng đến hiệu năng.
Tần số xử lý cao đặc biệt quan trọng đối với một số hệ thống ERP và kế toán, các ứng dụng có logic đơn luồng nặng, một số chương trình kỹ thuật, máy chủ trò chơi, các truy vấn cơ sở dữ liệu riêng lẻ và các dịch vụ mà độ trễ phản hồi là vấn đề cần quan tâm. Nếu một ứng dụng sử dụng một hoặc hai lõi xử lý ở mức cao nhất trong khi các lõi khác ở trạng thái nhàn rỗi, việc thêm nhiều lõi hơn sẽ không giúp ích gì. Trong trường hợp đó, một bộ xử lý hiện đại với hiệu năng đơn lõi mạnh mẽ sẽ quan trọng hơn.
Đồng thời, bạn không nên chỉ nhìn vào tần số turbo tối đa. Một máy chủ có thể duy trì tần số đó khi hoạt động ở mức tải cao với số lõi hạn chế, thường là một hoặc hai lõi, nhưng sẽ giảm tần số khi tất cả các lõi đều hoạt động. Khả năng hỗ trợ tần số cao lâu dài phụ thuộc vào hệ thống làm mát, công suất thiết kế nhiệt của bộ xử lý, cài đặt nguồn, thiết kế máy chủ, số lượng khe cắm mở rộng và nhiệt độ trong giá đỡ. Cài đặt BIOS đôi khi cho phép các chế độ tiết kiệm điện năng, hữu ích cho hiệu quả hoạt động, nhưng không phải lúc nào cũng phù hợp với các ứng dụng nhạy cảm về độ trễ. Các bộ xử lý hiện đại cũng có thể phân biệt giữa các lõi tiết kiệm và lõi hiệu năng, vì vậy cần kiểm tra thông số kỹ thuật chứ không chỉ tổng số lõi.
Đối với nhiều ứng dụng kinh doanh, việc lựa chọn một bộ xử lý cân bằng hơn là chọn bộ xử lý có số lõi cao nhất: đủ lõi cho người dùng và các tác vụ nền, hiệu năng đơn nhân mạnh mẽ, kiến trúc hiện đại và bộ nhớ đệm đủ lớn sẽ hợp lý hơn.
Những lợi ích mà dung lượng RAM lớn mang lại

RAM không chỉ cần thiết để giữ cho “máy chủ không bị chậm lại”. RAM chứa dữ liệu hoạt động, bộ nhớ đệm, chỉ mục, bộ nhớ máy ảo, các thao tác tạm thời, bộ đệm, cơ sở dữ liệu chuyên dụng, vùng làm việc của ứng dụng và các tiến trình hệ thống. Khi bộ nhớ không đủ, hệ thống bắt đầu đẩy dữ liệu ra đĩa hoặc truy cập bộ nhớ thường xuyên hơn. Ngay cả SSD nhanh nhất cũng chậm hơn nhiều so với RAM, vì vậy tình trạng thiếu bộ nhớ sẽ ảnh hưởng ngay lập tức đến thời gian phản hồi.
Đối với cơ sở dữ liệu, bộ nhớ rất quan trọng vì nó cho phép lưu trữ các bảng, chỉ mục và bộ đệm được sử dụng thường xuyên. Càng nhiều dữ liệu trong bộ nhớ RAM được lưu trữ, càng ít truy vấn phải truy cập vào ổ đĩa. Tài liệu SQL Server của Microsoft mô tả các thiết lập bộ nhớ máy chủ tối thiểu và tối đa, giới hạn lượng bộ nhớ được quản lý bởi Trình quản lý bộ nhớ SQL Server, bao gồm cả vùng bộ đệm, bộ nhớ cache và cấp phát bộ nhớ. Điều này cho thấy rõ ràng rằng cơ sở dữ liệu không chỉ đơn thuần “sử dụng bộ nhớ”; nó quản lý bộ nhớ như một tài nguyên quan trọng.
Trong ảo hóa, RAM thường hết trước khi bộ xử lý hết tài nguyên. CPU có thể được cấp phát dư thừa một cách cẩn thận vì không phải tất cả các máy ảo đều sử dụng 100% bộ xử lý cùng một lúc. Bộ nhớ thì khó hơn: nếu tất cả các máy ảo thực sự cần lượng RAM được cấp phát, thì tình trạng thiếu hụt sẽ dẫn đến việc loại bỏ máy ảo, phình bộ nhớ, sử dụng bộ nhớ ảo và hiệu năng giảm mạnh.
Đối với phân tích dữ liệu, bộ nhớ cần thiết cho các kết quả trung gian, sắp xếp, tổng hợp và bộ nhớ đệm. Đối với máy chủ tệp, RAM hoạt động như một bộ nhớ đệm tệp. Đối với suy luận AI, RAM hệ thống cần thiết cho việc chuẩn bị dữ liệu, hàng đợi yêu cầu, các mô hình phía CPU, bộ nhớ đệm và lớp ứng dụng xung quanh bộ tăng tốc.
Dung lượng RAM không phải là yếu tố quan trọng duy nhất; cấu hình của nó cũng rất quan trọng: số lượng kênh bộ nhớ, tần số, số lượng mô-đun và sự hỗ trợ từ máy chủ và bộ xử lý. Một máy chủ với 256 GB RAM có thể hoạt động khác nhau tùy thuộc vào cách các kênh bộ nhớ được cấu hình. Nếu cài đặt quá ít mô-đun hoặc chúng được cài đặt không đồng đều, băng thông bộ nhớ sẽ thấp hơn.
Ảo hóa: RAM, lõi xử lý và bộ nhớ lưu trữ
Ảo hóa là một dạng tải công việc hỗn hợp. Mỗi máy ảo tiêu thụ RAM, bộ xử lý ảo, I/O ổ đĩa và tài nguyên mạng. Một bộ điều khiển miền, cơ sở dữ liệu, máy chủ web, máy chủ đầu cuối, dịch vụ tệp và các máy ảo thử nghiệm có thể chạy đồng thời trên một máy chủ vật lý. Do đó, ảo hóa thường không cần bộ xử lý cực mạnh, mà cần một nền tảng cân bằng.
Trong ảo hóa, RAM thường quan trọng hơn số lượng lõi xử lý. Nếu máy chủ có đủ CPU nhưng không đủ bộ nhớ, các máy ảo sẽ bắt đầu cạnh tranh nhau để sử dụng RAM. Trình quản lý ảo hóa có thể sử dụng các cơ chế tối ưu hóa, nhưng khi thực sự thiếu bộ nhớ, hiệu năng sẽ giảm. CPU có thể được phân bổ vượt mức một cách cẩn thận hơn so với RAM, nhưng nó cũng có giới hạn. Nếu quá nhiều máy ảo đang hoạt động cùng lúc yêu cầu thời gian xử lý, độ trễ lập lịch sẽ tăng lên.
Tài liệu của Broadcom về Quản lý Tài nguyên vSphere mô tả việc quản lý tài nguyên CPU và bộ nhớ thông qua chia sẻ, đặt chỗ và giới hạn. Điều này xác nhận rằng ảo hóa không chỉ phụ thuộc vào nguồn dự trữ vật lý mà còn phụ thuộc vào cách hypervisor phân phối tài nguyên giữa các máy ảo.
Việc hợp nhất dữ liệu dày đặc đòi hỏi nhiều lõi xử lý, nhưng tần số cũng không nên bị bỏ qua. Nếu một máy chủ lưu trữ nhiều máy ảo nhỏ, số lượng lõi xử lý sẽ rất hữu ích. Nếu có một số máy ảo nặng với cơ sở dữ liệu hoặc hệ thống ERP, chúng có thể cần hiệu năng của một lõi xử lý và cấu hình hỗ trợ NUMA.
Lưu trữ và mạng thường trở thành điểm nghẽn trước cả CPU. Nếu hàng chục máy ảo ghi nhật ký, cập nhật, khởi động hoặc vào cửa sổ sao lưu cùng một lúc, lưu trữ có thể gây ra độ trễ. Đó là lý do tại sao máy chủ ảo hóa phải được tính toán kích thước phù hợp với hệ thống con đĩa và cổng mạng.
Hệ thống ERP và kế toán
Trong cơ sở hạ tầng của các công ty Nga, 1C thường được dùng làm ví dụ về khối lượng công việc mà việc lựa chọn máy chủ không chỉ dựa trên số lõi xử lý. Trong bối cảnh phương Tây, logic tương tự cũng có thể áp dụng cho các hệ thống ERP và kế toán khác. Các ứng dụng như vậy thường không chỉ bao gồm một tiến trình duy nhất, mà là máy chủ ứng dụng, cơ sở dữ liệu, các tác vụ nền, máy khách web, các tích hợp và các phiên người dùng.
Một phần logic ứng dụng nghiệp vụ không thể song song hóa tốt. Đối với thời gian phản hồi của người dùng, tốc độ của một luồng đơn lẻ rất quan trọng. Do đó, tần số cao và kiến trúc CPU hiện đại có thể mang lại nhiều lợi ích hơn so với số lượng lớn các lõi chậm. Điều này đặc biệt dễ nhận thấy trong các trường hợp người dùng chờ đợi một thao tác cụ thể: đăng tài liệu, tạo báo cáo, chạy phép tính, kiểm tra số dư hàng tồn kho hoặc trao đổi dữ liệu với hệ thống bên ngoài.
RAM cần thiết cho máy chủ ứng dụng, cơ sở dữ liệu, bộ nhớ đệm, xử lý nền và người dùng đồng thời. Ổ đĩa quan trọng đối với hệ quản trị cơ sở dữ liệu (DBMS), nhật ký và các thao tác tạm thời. Mạng quan trọng nếu máy chủ ứng dụng, cơ sở dữ liệu và người dùng được phân tách trên các máy chủ khác nhau.
Không thể khẳng định một cách chung chung rằng hệ thống ERP chỉ cần tần số cao. Với nhiều người dùng, các tác vụ nền, tích hợp và báo cáo, số lõi xử lý cũng rất cần thiết. Nhưng nếu phải lựa chọn giữa nhiều lõi xử lý chậm và ít lõi xử lý nhanh hơn, thì phương án thứ hai đáng để thử nghiệm trên một khối lượng công việc tiêu biểu cho nhiều kịch bản ERP khác nhau. Điều này đặc biệt đúng nếu việc cấp phép phụ thuộc vào số lõi xử lý.
Dịch vụ web và API
Các dịch vụ web thường mở rộng quy mô tốt bằng cách sử dụng các tiến trình, luồng, container, hoặc thậm chí trên nhiều máy chủ phía sau bộ cân bằng tải. Do đó, việc bổ sung thêm lõi xử lý rất hữu ích khi có nhiều yêu cầu đồng thời. Nhưng tần suất cũng rất quan trọng: nó ảnh hưởng đến độ trễ của một yêu cầu duy nhất, đặc biệt nếu yêu cầu đó bao gồm logic nghiệp vụ phức tạp.
RAM cần thiết cho bộ nhớ đệm, thời gian chạy, nhóm kết nối, hàng đợi, các tác vụ nền và dữ liệu tạm thời. Nếu ứng dụng được viết trên nền tảng có mức tiêu thụ bộ nhớ đáng kể, chẳng hạn như một dịch vụ Java hoặc .NET lớn, thì RAM có thể trở nên quan trọng không kém gì CPU.
Đối với một trang web tĩnh có dung lượng nhỏ, bộ xử lý và bộ nhớ thường không phải là yếu tố hạn chế chính. Mạng, bộ nhớ đệm và việc phân phối nội dung chính xác mới là những yếu tố quan trọng hơn. Đối với một API có logic nghiệp vụ, cần có sự cân bằng giữa số lõi xử lý, tần số và bộ nhớ. Đối với hệ thống phụ trợ có tải trọng cao, việc mở rộng theo chiều ngang thường mang lại nhiều lợi ích hơn: một số máy chủ cỡ trung bình đặt sau bộ cân bằng tải thường đáng tin cậy hơn so với một máy chủ rất mạnh.
Điều quan trọng cần nhớ là cơ sở dữ liệu có thể là điểm nghẽn của một dịch vụ web. Nếu máy chủ web chấp nhận yêu cầu nhanh chóng, nhưng mỗi yêu cầu đều phải chờ đợi trong một cơ sở dữ liệu chậm, thì việc tăng tài nguyên CPU ở tầng web sẽ không mang lại kết quả đáng kể.
Phân tích và xử lý dữ liệu

Các tác vụ phân tích thường xử lý khối lượng dữ liệu lớn và thực hiện các phép tính phức tạp: sắp xếp, tổng hợp, lọc, kết hợp, tính toán lại và tạo báo cáo. Trong trường hợp này, RAM, lõi xử lý, ổ đĩa và mạng thường đóng vai trò quan trọng cùng một lúc.
RAM cần thiết cho các kết quả trung gian. Nếu dữ liệu và cấu trúc làm việc phù hợp với bộ nhớ, quá trình xử lý sẽ nhanh hơn. Nếu bộ nhớ không đủ, hệ thống sẽ chủ động sử dụng ổ đĩa, và hiệu suất sẽ giảm mạnh. Đối với phân tích dữ liệu trong bộ nhớ, bộ nhớ có thể là tài nguyên chính.
Các lõi xử lý giúp song song hóa quá trình xử lý. Các tác vụ theo lô, ETL, tính toán lại kho dữ liệu, truy vấn phân tích và xử lý nhật ký có thể tận dụng tốt nhiều lõi. Nhưng ngay cả ở đây, sự tăng trưởng không phải lúc nào cũng tuyến tính: có sự phụ thuộc giữa các giai đoạn, thời gian chờ đĩa, khóa và trao đổi mạng. Đồng thời, các tác vụ chạy trên một luồng duy nhất cũng khá phổ biến — và trong những trường hợp đó, tần số lõi trở nên quan trọng hơn số lượng.
Đối với phân tích dữ liệu, băng thông lưu trữ rất quan trọng. Nếu máy chủ có thể xử lý dữ liệu nhanh hơn tốc độ đọc của ổ đĩa, CPU sẽ phải chờ. Trong phân tích dữ liệu phân tán, mạng lưới được thêm vào phương trình: các nút phải trao đổi kết quả trung gian một cách nhanh chóng. Do đó, không thể chỉ lựa chọn máy chủ phân tích dựa trên số lõi xử lý. Nó cần RAM, ổ đĩa tốc độ cao và một mạng lưới mạnh mẽ.
Suy luận AI
Đối với suy luận AI, đặc biệt là mạng nơ-ron và các mô hình ngôn ngữ lớn, câu hỏi “số lõi, tần số hay RAM” là chưa đầy đủ. GPU, bộ nhớ video và băng thông bộ nhớ của bộ tăng tốc thường trở thành các tài nguyên chính. Nếu mô hình không vừa với bộ nhớ video, hiệu năng và độ trễ có thể thay đổi đột ngột.
CPU không biến mất khỏi quá trình tính toán. Nó cần thiết cho các yêu cầu mạng, chuẩn bị dữ liệu, mã hóa token, xử lý hậu kỳ, xử lý hàng đợi, ghi nhật ký, lớp API và truyền dữ liệu đến GPU. Nhiều lõi hơn giúp xử lý số lượng lớn các yêu cầu song song và chuẩn bị dữ liệu phức tạp. Tần số cao rất quan trọng để có độ trễ thấp trong phần CPU của quy trình xử lý. RAM cần thiết cho các mô hình phía CPU, bộ nhớ đệm, hàng đợi, xử lý theo lô và các tiến trình hệ thống.
Tài liệu của NVIDIA về Triton Inference Server mô tả việc tối ưu hóa suy luận thông qua các cơ chế liên quan đến độ trễ, thông lượng, xử lý theo lô và đồng thời. Điều này cho thấy rằng trong suy luận AI, điều quan trọng là không chỉ nghĩ đến phần cứng mà còn cả các thiết lập phục vụ mô hình.
Nếu chọn máy chủ cho suy luận AI, cần tính toán riêng các yếu tố như GPU, bộ nhớ video, làn PCIe, nguồn điện, hệ thống làm mát, mạng và RAM. Bộ xử lý không nên kìm hãm hiệu năng của bộ tăng tốc, nhưng việc mua số lượng lõi CPU tối đa cũng không thể bù đắp cho việc thiếu bộ nhớ video.
Những lỗi thường gặp khi chọn máy chủ
Việc lựa chọn máy chủ chỉ dựa trên số lượng lõi xử lý. Điều này quan trọng đối với các tác vụ song song, nhưng đối với các ứng dụng kinh doanh, cơ sở dữ liệu và hệ thống ERP, hiệu năng đơn nhân cao có thể mang lại giá trị lớn hơn.
Mua bộ xử lý có tần số cao nhất mà không cân nhắc số lượng người dùng và các tác vụ nền. Nếu khối lượng công việc thực sự song song, tốc độ cao nhưng ít lõi có thể trở thành hạn chế.
Tiết kiệm RAM cho ảo hóa. Nhờ đó, CPU vẫn khả dụng trong khi các máy ảo hoạt động chậm lại do thiếu bộ nhớ và truy cập ổ đĩa.
Sử dụng ổ đĩa chậm cho cơ sở dữ liệu. Ngay cả bộ xử lý tốt và dung lượng RAM lớn cũng không giúp ích gì nếu việc ghi nhật ký và các thao tác ngẫu nhiên bị hạn chế bởi dung lượng lưu trữ.
Bỏ qua NUMA. Các máy ảo và cơ sở dữ liệu lớn có thể hoạt động kém hiệu quả hơn nếu tài nguyên được phân bổ không hợp lý giữa các socket.
Phân bổ quá nhiều vCPU cho mỗi máy ảo. Điều này có vẻ sẽ làm cho máy ảo nhanh hơn, nhưng thực tế lại khiến hypervisor khó lên lịch cho các máy ảo như vậy, và độ trễ có thể tăng lên.
Quên mất việc cấp phép theo từng lõi xử lý. Đôi khi, việc thêm lõi xử lý không những không mang lại lợi ích gì mà còn làm tăng chi phí dự án.
Coi quá trình suy luận AI như một tác vụ CPU thông thường. Đối với nhiều mô hình, GPU, bộ nhớ video, băng thông bộ nhớ tăng tốc và cài đặt máy chủ quan trọng hơn.
Bỏ qua yếu tố mạng cho việc lưu trữ tập tin, VDI, sao lưu và hệ thống phân tán. Một máy chủ nhanh với mạng chậm vẫn sẽ bị giới hạn bởi kênh truyền dữ liệu.
So sánh các bộ vi xử lý thuộc các thế hệ khác nhau chỉ dựa trên tần số gigahertz. Tần số mà không xét đến kiến trúc, bộ nhớ, bộ nhớ đệm và bối cảnh PCIe thì không thể hiện được bức tranh toàn diện.
Điều quan trọng nhất cuối cùng là gì?
Nhiều lõi hơn, tần số cao hơn và RAM nhiều hơn không phải là những câu trả lời cạnh tranh chung cho tất cả các trường hợp; chúng là những công cụ khác nhau cho các nhiệm vụ khác nhau. Cần có nhiều lõi hơn khi có nhiều tác vụ song song. Tần số và hiệu năng đơn nhân quan trọng đối với thời gian phản hồi và các ứng dụng không song song hóa tốt. RAM rất quan trọng khi dữ liệu, máy ảo và bộ nhớ đệm phải được lưu trữ trong bộ nhớ.
Đối với cơ sở dữ liệu, RAM, ổ đĩa nhanh, khả năng ghi ổn định và CPU đủ mạnh là rất quan trọng. Đối với ảo hóa, bộ nhớ, lõi xử lý, dung lượng lưu trữ và khả năng dự phòng lỗi là những yếu tố cần thiết. Đối với hệ thống ERP/1C, tần số, RAM và hiệu năng cơ sở dữ liệu là những yếu tố quan trọng. Đối với dịch vụ web, lõi xử lý, mạng và khả năng mở rộng theo chiều ngang là những yếu tố quan trọng. Đối với phân tích dữ liệu, RAM, lõi xử lý và băng thông là những yếu tố quan trọng. Đối với suy luận AI, GPU, bộ nhớ video và CPU/RAM phù hợp xung quanh bộ tăng tốc là những yếu tố cần thiết. Đối với lưu trữ tập tin, ổ đĩa, mạng và bộ nhớ đệm là những yếu tố quan trọng.
Việc lựa chọn máy chủ phù hợp không bắt đầu từ số lượng lõi tối đa trong bảng giá, mà từ việc hiểu rõ khối lượng công việc. Bạn cần tìm ra điểm nghẽn thực sự và xem xét khả năng mở rộng, giấy phép, ổ đĩa, mạng và kiến trúc. Chỉ khi đó, máy chủ mới không chỉ mạnh mẽ trên lý thuyết mà còn phù hợp với nhiệm vụ của nó.










