Phương pháp benchmark và kết quả gốc
Các con số trong Công cụ tính tài nguyên không phải là phỏng đoán. Chúng được đo trên một bản cài HiTechCloud thực tế, tải đến số lượng tài khoản thật và đo bằng các công cụ Linux tiêu chuẩn. Trang này mô tả cách chạy thử nghiệm và kết quả thu được, để bạn có thể tự kiểm chứng các giả định.
Số liệu theo từng tài khoản dưới đây được đo trên một phiên bản HiTechCloud trước đây. Phiên bản hiện tại chạy mỗi dịch vụ (web server, PHP-FPM, MariaDB, mail, DNS) một lần trên máy chủ và cấp cho mỗi tài khoản một PHP-FPM pool, một system user và quota riêng, nên dùng chung tài nguyên giữa các tài khoản nhiều hơn phiên bản đã đo. Hãy xem công cụ tính là một ước tính thận trọng. Kết quả đo lại trên phiên bản hiện tại sẽ thay thế các số liệu trên trang này.
Môi trường thử nghiệm
- VPS: AltusHost VM-4: 8 core, 9GB RAM
- Giấy phép Enterprise, không bật các dịch vụ cao cấp (không có máy chủ mail, FTP, DNS)
- Bản cài HiTechCloud mới, chưa có tài khoản nào
Cách chạy thử nghiệm
- Cài mới HiTechCloud trên VPS nêu trên.
- Chạy bộ benchmark tự động (
hitechcloud-tests max-users), bộ này sẽ:- Tạo các tài khoản hosting lần lượt từng tài khoản, mỗi tài khoản dùng gói Standard (giới hạn 2 CPU core / 2GB RAM).
- Bật 5 dịch vụ cho mỗi tài khoản: MariaDB, Apache, PHP 8.5, Cron, Memcached.
- Chờ mọi dịch vụ của tài khoản báo đã khởi động rồi mới tạo tài khoản tiếp theo, để không bao giờ tạo tài khoản nhanh hơn khả năng khởi động của máy chủ.
- Để máy chủ nhàn rỗi 1 giờ sau khi tạo tài khoản cuối cùng (không có lưu lượng giả lập).
- Đo mức sử dụng theo từng tài khoản và toàn hệ thống bằng các lệnh bên dưới.
Tự chạy thử nghiệm
Mọi quản trị viên đều có thể lặp lại thử nghiệm này trên một VPS thử nghiệm.
Cài mới (xem công cụ tạo lệnh cài đặt để biết các tùy chọn khác):
bash <(curl -sSL https://hitechcloud.org/) --key=enterprise-xxxx
Cài công cụ hitechcloud-tests (bộ phận hỗ trợ của chúng tôi có thể gửi bản build mới nhất), sau đó chạy benchmark tạo tài khoản:
hitechcloud-tests max-users
Để máy chủ nhàn r ỗi khoảng một giờ, sau đó thu thập mức sử dụng theo từng tài khoản (mỗi tài khoản chạy trong một systemd slice riêng) và của toàn hệ thống:
hitechcloudcli user-list
systemd-cgtop --depth=3 --iterations=1
du -sh /home
free -mh
df -h /
uptime
vmstat 1 5
Dung lượng ổ đĩa
- Mỗi tài khoản tăng thêm: khoảng 100 MB (tệp và cấu hình của tài khoản). Mỗi web server, phiên bản PHP và hệ quản trị cơ sở dữ liệu chỉ được cài một lần trên máy chủ và dùng chung cho mọi tài khoản, nên chỉ được tính một lần, không tính theo tài khoản.
Mức sử dụng RAM
Tài khoản trống/nhàn rỗi (chưa có dịch vụ hay tên miền): khoảng 15MB RAM.
Tài khoản chạy 5 dịch vụ, nhàn rỗi 1 giờ, lấy mẫu trên các tài khoản thử nghiệm:
user: testhdcw6lom memory used: 182.8M cpu: 0.1 cores (pct: 5)
user: test8z2c9li0 memory used: 96.2M cpu: 0.1 cores (pct: 9)
user: testyldvawbz memory used: 176.6M cpu: 0.0 cores (pct: 4)
user: testm420v4mo memory used: 189.6M cpu: 0.0 cores (pct: 3)
user: testdk4e6qcb memory used: 180.8M cpu: 0.1 cores (pct: 5)
user: testns1hzu92 memory used: 114.2M cpu: 0.0 cores (pct: 4)
user: test16bl1nh3 memory used: 192.6M cpu: 0.1 cores (pct: 5)
user: testnpz6ktcj memory used: 26.3M cpu: 0.0 cores (pct: 0)
user: testkm20itbn memory used: 23.9M cpu: 0.0 cores (pct: 0)
user: test2yv96x7q memory used: 23.7M cpu: 0.0 cores (pct: 0)
user: testkwzwlkok memory used: 24.2M cpu: 0.0 cores (pct: 0)
user: testybg395dc memory used: 24.1M cpu: 0.0 cores (pct: 0)
user: testy02m4ux5 memory used: 74.5M cpu: 0.0 cores (pct: 4)
user: testh7xjd0gv memory used: 78.4M cpu: 0.1 cores (pct: 5)
user: test9xjhqukr memory used: 89.4M cpu: 0.1 cores (pct: 6)
user: testrbgigc7e memory used: 191.6M cpu: 0.0 cores (pct: 4)
user: testu0xdlajh memory used: 193.3M cpu: 0.1 cores (pct: 8)
user: testajuhx8yf memory used: 193.4M cpu: 0.0 cores (pct: 4)
Tổng cộng 18 tài khoản, khoảng 2,03 GB RAM, trung bình khoảng 115MB mỗi tài khoản. Các tài khoản mới chưa có website chỉ dùng khoảng 24MB; tài khoản có website đang chạy dùng khoảng 180-203MB.
Các dịch vụ hệ thống dùng chung (cơ sở dữ liệu, bộ nhớ đệm, front end, giao diện panel, phpMyAdmin): free -mh cho thấy 2,9GB đã dùng trên toàn hệ thống so với khoảng 2,03GB của các tài khoản trên, nên còn lại khoảng 0,87GB RAM cho tất cả dịch vụ dùng chung. Đó là lý do mức nền hệ thống trong công cụ tính được đặt thấp và được xem là mức sàn, không phải mức trần đã đo.
Mức sử dụng CPU thực tế (toàn hệ thống)
vmstat 1 5, lấy mẫu khoảng 6 giờ sau khi tạo tài khoản cuối cùng, khi cả 20 tài khoản đều nhàn rỗi:
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
27 1 1045664 489412 269500 5809848 1 33 85 50498 72510 132 39 42 17 2 0 0
25 1 1045664 497804 269500 5809996 0 0 0 49276 76445 110036 42 43 13 2 0 0
12 0 1045664 499536 269500 5814108 0 0 0 113760 78239 103005 37 41 15 6 0 0
17 1 1045664 455716 269500 5814112 0 0 0 49224 75054 107971 40 45 14 2 0 0
14 2 1045664 472212 269500 5814112 0 0 0 48312 75814 109682 41 43 14 2 0 0
b (số tiến trình chờ I/O) chỉ ở mức 0-2, nên đây không phải tình trạng tranh chấp ổ đĩa. r (số tiến trình chờ CPU) ở mức 12-27 trên máy 8 core, và us+sy trung bình khoảng 82,6% CPU bận, với sy (thời gian kernel) gần bằng us (thời gian tiến trình) và 72 nghìn - 110 nghìn lần chuyển ngữ cảnh mỗi giây. Số liệu theo từng tài khoản không bao gồm chi phí kernel và lập lịch này, nên chi phí CPU thực tế của mỗi tài khoản được tính từ mức sử dụng toàn hệ thống:
busy cores = (us% + sy%) × 8 cores = 0.826 × 8 ≈ 6.6 cores
per user = (busy cores − system baseline) ÷ 20 users
= (6.6 − 1.5) ÷ 20 ≈ 0.25 cores/user
Khoảng 0,25 core mỗi tài khoản là con số công cụ tính dùng để ước tính CPU khi nhàn rỗi.
Thử nghiệm quy mô
- 15 tài khoản × 5 dịch vụ: chạy không gặp vấn đề nào trên VPS 8 core/9GB.
- 20 tài khoản × 5 dịch vụ, tất cả dùng gói Standard (giới hạn 2 CPU / 2GB RAM mỗi tài khoản): tổng hạn mức 40 core / 40GB RAM được bán vượt trên máy 8 core/9GB.
- Load average của
uptimeduy trì ở mức 13,48-24,45 trong nhiều giờ, kể cả lần kiểm tra lại gần 6 giờ sau khi tạo xong tài khoản, phù hợp với khoảng 6,6 core bận đã đo ở trên. free -mhvới 20 tài khoản: 2,9GiB đã dùng / 8,7GiB tổng, 454MB trống, 5,8GiB cho buff/cache.df -h: 22GB đã dùng / 99GB tổng (24%).