Performance hệ thống Virtuozzo chậm, nguyên nhân do đâu !???
Performance hệ thống Virtuozzo chậm, nguyên nhân do đâu !???
Khi triển khai và vận hành hệ thống Virtuozzo (VZ), đôi khi người dùng sẽ bắt gặp tình trạng performance của hệ thống rất tệ. Dưới đây là những nguyên nhân làm cho performance hệ thống VZ chậm mà ODS đã ghi nhận được, khi kiểm tra các bạn nên kiểm tra lần lượt theo thứ tự từng nguyên nhân như bên dưới:
1. Do loại SSD đang sử dụng không tương thích hoặc không đáp ứng được performance mà hệ thống VZ cần:
Đa số các loại SSD thuộc phân khúc SSD consumer (SSD cho laptop, SSD dành cho nhu cầu sử dụng cá nhân/gia đình) đều không đáp ứng được performance mà hệ thống VZ cần vì vậy khi dùng các loại SSD này cho hệ thống VZ sẽ dẫn đến việc performance toàn bộ hệ thống rất tệ. Chỉ trừ các loại SSD consumer sau như Intell 320 series, Intell 710 series, Kingston HyperX 3K đã được test thực tế tương thích với hệ thống VZ. Vì vậy khi chọn SSD cho hệ thống VZ cần lưu ý kỹ vấn đề này.
Đa số SSD enterprise class có chuẩn kết nối SATA 6Gbps hoặc SAS được khuyến cáo sử dụng cho hệ thống VZ vì performance cao, sức chịu tải lượng đọc/ghi lớn trong thời gian dài lâu (phù hợp với các hệ thống tải nặng ở Datacenter nói chung và VZ nói riêng) đáp ứng được hệ thống VZ cần. Đây là danh sách các whitelistssd đã được kỹ sư Odin chứng nhận hoạt động phù hợp với hệ thống VZ.
Khi chọn SSD, cần lưu ý không nên chọn những loại SSD chưa được chứng nhận bởi kỹ sư Odin hoặc chưa được ODS test thực tế !!!
2. Do băng thông ổ đĩa quy định trong BIOS chưa được set lên mức cao nhất SATA 6Gbps hoặc SAS tùy theo giới hạn phần cứng của từng hệ thống:
Cần kiểm tra kỹ và chắc chắn rằng chuẩn tốc độ cho các ổ đĩa được cấu hình ở mức cao nhất (thông thường là SATA 6Gbps/AHCI/SAS khi sử dụng các port SATA onboard). Một số trường hợp mainboard vẫn hỗ trợ chế độ IDE và bạn vô tình cấu hình mode IDE trong BIOS sẽ dẫn tới việc ép các ổ đĩa bị nghẽn vì chỉ làm việc được ở tốc độ tối đa của IDE (Trường hợp có thể xảy ra khi bạn cài mới server, thay thế mainboard hoặc reset default BIOS mà quên kiểm tra lại chế độ làm việc của ổ đĩa mặc định là IDE đối với các mainboard đời cũ).
Một giải pháp khác là gắn các ổ đĩa thông qua card RAID hoặc LSI (lưu ý phải có hỗ trợ JBOD) có băng thông cao 6Gbps và 12Gbps để hạn chế tối đa vấn đề trên khi sử dụng hệ thống VZ.
3. Do cáp gắn ổ đĩa không đạt yêu cầu (cáp bị nhiễu hoặc cáp chất lượng kém sẽ không truyền tín hiệu tốt):
Bạn cũng nên kiểm tra cáp gắn cho các ổ đĩa để chắc chắn trường hợp này không xảy ra. Nên thay thế những các SATA đã sử dụng quá lâu vì có thể cáp đã bị nhiễu. Tránh sử dụng các loại cáp chất lượng không đảm bảo cho hệ thống VZ.
4. Bạn vô tình gắn các ổ đĩa có chuẩn 6Gbps vào port hỗ trợ băng thông SATA 3Gbps (hầu hết SSD và HDD mới đều chạy ở chuẩn tốc độ 6Gbps):
Đây cũng là một nguyên nhân phổ biến thường gặp khi sử dụng các cổng SATA onboard đặc biệt là các mainboard cũ vì không phải mainboard đời cũ nào cũng hỗ trợ tất cả SATA onboard chuẩn 6Gbps. Vì vậy cần lưu ý gắn đúng port hỗ trợ băng thông của ổ đĩa (HDD/SSD 6Gbps gắn vào port SATA 6Gbps và HDD/SSD 3Gbps sẽ gắn vào port SATA 3Gbps). Một cách khác hạn chế tối đa vấn đề này cũng là gắn các đĩa thông qua card RAID/LSI hỗ trợ băng thông cao 6Gbps-12Gbps tương tự như trường hợp bên trên.
5. Kết nối mạng giữa các server không ổn định
Cần chắc chắn kết nối mạng giữa các server là ổn định. Kiểm tra bằng cách đứng trên từng server và thực hiện ping lần lượt tất cả server còn lại, thực hiện lặp lại trên tất cả các server để chắc chắn kết tất cả các server đều có thể giao tiếp với nhau.
6. Băng thông mạng giữa các server không đảm bảo cho hệ thống VZ
Odin khuyến cáo hạ tầng mạng 10Gbps cho hệ thống VZ để loại bỏ mọi trường hợp nghẽn do network gây ra và để hệ thống VZ có thể đạt được hiệu suất cao nhất. Tuy nhiên trong trường quy mô hệ thống vừa và nhỏ (ít hơn 10 server node trong cluster) vẫn có thể tận dụng hạ tầng mạng 1Gbps kết hợp với cấu hình bonding để đạt được băng thông lớn hơn 1Gbps (Lưu ý khi cấu hình bonding trên server cần có switch hỗ trợ Link Aggregation để việc bonding hoạt động hiệu quả nhất).
7. Dung lượng ổ đĩa SSD đầy:
Trong trường hợp bạn dùng SSD làm chunk trên hệ thống VZ cần lưu ý tránh để các ổ SSD làm chunk này chứa dữ liệu nhiều hơn 70% dung lượng đĩa, việc này chắc chắn sẽ làm giảm đáng kẻ performance của các ổ SSD này dẫn đến performance toàn bộ hệ thống VZ chậm. Các nhà sản xuất SSD khuyến cáo nên dự trữ tối thiểu 20~30% dung lượng trống để SSD có thể hoạt động hiệu quả. Trường hợp có thể xảy ra tương tự khi cấu hình SSD làm cache trên hệ thống VZ.
8. Hệ thống VZ phát sinh thêm tải vượt quá khả năng đáp ứng của phần cứng hiện tại:
Khi hệ thống của bạn phát sinh thêm tải (dịch vụ gia tăng, số lượng VPS tăng, lưu lượng người dùng sử dụng nhiều hơn, …) và bạn cảm thấy tốc độ hệ thống giảm rõ rệt thì đã đến lúc bạn cần nâng cấp hệ thống VZ để tăng khả năng đáp ứng. Để chắc chắn vấn đề hệ thống chậm sau khi phát sinh thêm dịch vụ bạn cần có sự theo dõi định kì và so sánh các chỉ số IOWAIT , IOLAT, QDEPTH khi monitor chunk bằng lệnh pstorage -c <clustername> top
- IOWAIT (I/O waiting): % các yêu cầu I/O từ các dịch vụ trên hệ thống VZ phải chờ để được xử lý. Nếu chỉ số này duy trì ở mức 70~100% thì chứng tỏ hầu hết các yêu cầu xử lý từ dịch vụ trên VZ bị nghẽn và phải chờ đợi. Chỉ số IOWAIT cho phép khi duy trì ở mức 0~50%.
- IOLAT (I/O latency): độ trễ khi xử lý các yêu cầu I/O từ các dịch vụ trên hệ thống VZ tính bằng chỉ số trung bình(ms)/tối đa(ms). Chú ý chỉ số trung bình cho phép 0~50 ms.
- QDEPTH (Queue depth): Chỉ số độ sâu của hàng đợi các yêu cầu từ dịch vụ, giá trị cho phép là <5.
Khi nâng cấp phần cứng có 2 phương án:
- Thêm ổ đĩa trên các node trong cluster VZ. Lưu ý khi tăng cần tính toán sao cho dung lượng đĩa tổng trên các node sau khi tăng nên bằng nhau.
- Thêm node mới vào cluster VZ. Khi thêm node vào cluster cũng cần tính toán sao cho tổng dung lượng đĩa trên node nên bằng với tổng dung lượng đĩa của các node đã có sẵn trong cluster.