CloudPanel - Viên ngọc quý bị lãng quên

Cách đây khoảng 1 tháng mình có giới thiệu về CloudPanel, trong thời gian trải nghiệm thì rất hài lòng, quản trị sạch sẽ, đơn giản, tính năng rất phù hợp với nhu cầu của mình, người dùng cá nhân, chỉ cần 1 trang quản trị có các tính năng cơ bản

Hiệu năng

Thời điểm viết bài, mình thấy nó rất nhanh, có thể nói là nhanh nhất trong tất cả các script auto mình từng thử qua, thậm chí ở bài monitor hiệu năng, khi dùng CloudPanel kết hợp Cache Rules Cloudflare để cache, tổng thời gian load, “thỉnh thoảng” còn nhanh hơn cả 1 trang tĩnh hoàn toàn đặt trên Cloudflare Pages, lý do mình nói “thỉnh thoảng” là vì trên bibica.net mình thường xuyên xóa, tạo mới lại cache, thời gian load trang đôi lúc sẽ bị chậm, trên trang tương tác ít, tốc độ nhanh hơn cả trang tĩnh là có thật

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
log-error = /var/log/mysql/error.log
datadir = /home/mysql/
innodb_file_per_table
character-set-server = utf8mb4
collation-server  = utf8mb4_general_ci
init-connect = 'SET NAMES utf8mb4'

;slow_query_log = 1
;slow_query_log_file = /var/log/mysql/slow.log
;long_query_time = 2

thread_cache_size = 32
table_open_cache = 2048
sort_buffer_size = 8M
innodb = force
;innodb_buffer_pool_size = 1G
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1GB
innodb_stats_on_metadata = OFF
innodb_buffer_pool_instances = 8
innodb_log_buffer_size = 10M
innodb_flush_log_at_trx_commit = 2
innodb_thread_concurrency = 6
join_buffer_size = 8M
tmp_table_size = 128M
key_buffer_size = 128M
max_allowed_packet = 64M
max_heap_table_size = 128M
read_rnd_buffer_size = 16M
read_buffer_size = 2M
bulk_insert_buffer_size = 64M
max_connections = 512
myisam_sort_buffer_size = 128M
explicit_defaults_for_timestamp = 1
open_files_limit = 65535
table_definition_cache = 1024
table_open_cache = 2048
log_bin_trust_function_creators = 1
disable_log_bin

Hiệu năng ở database rất kinh người, khi mọi thứ liên quan tới database từ quản trị viết bài, sửa bài, post bài, cho tới khách comment, tìm kiếm …. tốc độ đều nhanh hơn khá rõ so với tuyệt đại đa số các script auto khác

2023-10-06_11-00-13

MySQL Latency check qua Releem, < 2ms khi ít dùng, backup, tạo trang tĩnh, tạo mới, xóa cache ở cường độ cực cao, CPU đỏ lè 100% load thì MySQL Latency < 3.5ms, một con số tuyệt vời

Page Generation Time tại trang home, các script khác cấu hình thêm qua Releem xuống tới 0.15s là kịch, trên CloudPanel chạy mặc định đã nhanh hơn, chỉ ~0.13s

Trong các script auto mình từng dùng, CloudPanel là script cấu hình mặc định MySQL tốt nhất

Muốn MySQL hiệu năng cao thì với Releem cũng đã cải thiện nhiều, nhưng tốc độ load file tĩnh trên CloudPanel mới là thứ thật sự đặc biệt, ở bài trước mình chỉ dùng lướt, trên ít tình huống, nên không thấy sự thú vị này

Xem cấu hình Nginx chỉ thấy họ cấu hình thêm brotli, còn lại khá cơ bản

##
    # Brotli Settings
    ##

    brotli on;
    brotli_comp_level 8;
    brotli_static on;
    brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/png image/gif image/jpeg application/javascript image/svg+xml;

Nếu bạn dùng Reverse Proxy trên Cloudinary thi thoảng sẽ thấy ảnh bị chậm, đây là vấn đề mình xử lý mãi vẫn không thấy hài lòng

Trên CloudPanel, cấu hình Reverse Proxy cơ bản, tốc độ nhanh hơn thấy rõ, hình ảnh gần như load tức thời, chỉ thua 1 tẹo so với Jetpack

location / {
  proxy_pass {{reverse_proxy_url}};
  proxy_set_header Connection "";
  proxy_http_version 1.1;
  proxy_connect_timeout 300;
  proxy_send_timeout    300;
  proxy_read_timeout    300;
  proxy_ignore_headers   Set-Cookie;
  proxy_intercept_errors on;
}

Nếu dùng CloudPanel chạy Reverse Proxy trên Jetpack thì miễn bàn luôn, tốc độ cứ gọi là bố của bàn thờ

Mình đoán là CloudPanel đang dùng trên phiên bản Nginx được tinh chỉnh lại, nó giải thích lý do vì sao họ vẫn đang dùng phiên bản Nginx v1.21.4 khá cũ, ra mắt từ cuối 2021? trừ lý do này ra, mình không giải thích được vì sao họ lại dùng bản Nginx cũ thế

Reverse Proxy trên CloudPanel đang là Reverse Proxy mình hài lòng nhất

Cache cho PHP qua opcache cũng rất dễ hiểu

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=768
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=75000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.revalidate_path=1
opcache.save_comments=1

Về thông số PHP thì khá là gây lú, pm.max_children họ set tới 250

[bibica.net]
listen = 127.0.0.1:14001
user = bibica
group = bibica
listen.allowed_clients = 127.0.0.1
pm = ondemand
pm.max_children = 250
pm.process_idle_timeout = 10s
pm.max_requests = 100
listen.backlog = 65535
pm.status_path = /status
request_terminate_timeout = 7200s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

Trên VPS 1-2 vCore thường mình hay dùng pm = dynamic, pm.max_children = 6, CloudPanel dùng duy nhất 1 cấu hình pm = ondemand, pm.max_children = 250 cho mọi trường hợp

Lý thuyết thì 1 vCore không thể gánh nổi cái cấu hình này, khả năng rất cao là nếu có nhiều người cùng vào quá, sẽ sập 😀 dùng thực tế thì mình chưa thấy gì cả 😛

Cài đặt mặc định PHP, MySQL hay Nginx của họ nhìn thì thấy kì kì nhưng hoạt động rất tốt, thực sự hiệu quả

Ban đầu sử dụng mình không quá ấn tượng, vì CloudPanel cài vào nhiều thứ quá, họ cũng không có tùy chọn tắt 😀

2023-10-06_9-53-47

Chưa kể còn 1001 các thứ râu ria như fail2ban, quan điểm của mình vẫn là càng dùng ít tài nguyên càng tốt, vì mình dùng trên VPS 1GB RAM là chính

Khá may mắn, CloudPanel có hỗ trợ cài đặt trên Debian 11, một OS cần rất ít RAM

2023-10-05_21-27-29

Kể cả có như thế, khi sử dụng CloudPanel cũng ăn RAM khiếp người

2023-10-06_12-22-40

Dùng các script khác trên data thèng bibica.net thường loanh quanh 600MB RAM, trên CloudPanel phải tống rất nhiều xuống RAM ảo, nhìn sơ bộ cũng cần ~ 1.2GB rồi

Bản thân tác giả CloudPanel cũng khuyến cáo, 2GB RAM là con số tối thiểu để cài đặt 😀 mình dùng VPS 1GB RAM vẫn thấy chạy tốt 😀 dù cắn xuống RAM ảo khá kinh, nhưng thực tế chạy vẫn nhanh, vẫn mượt 😀 VPS RAM dư thừa mứa mà chậm thì cũng thế cả 😛

VPS Hetzner CAX11 2vCPU 4GB RAM ~$5/month có lẽ là sự kết hợp tuyệt vời với CloudPanel về thông số phần cứng và giá cả, tiếc là các cụm location của Hetzner, Việt Nam truy cập chậm quá :((

Tính năng

Với script dạng Control Panel thì CloudPanel khá ít tính năng, nhưng với mình thì đủ dùng, thứ duy nhất mình cần thêm, là backup toàn bộ cấu hình các trang, vì mình khá hay cài mới lại toàn bộ VPS

2023-10-06_12-07-23

Trên thèng bibica.net thường mình dùng 4 domain, thao tác cấu hình cũng có thể làm thủ công, chứ tạo cỡ 10-20 hay 100 domain, mỗi lần cài mới VPS, cấu hình lại từng domain khá là ngu người, mà khoản này CloudPanel không thấy làm

Họ có hỗ trợ sẵn các lệnh qua CloudPanel CLI, thế nên chắc cũng có thể tạo file bash, làm các công đoạn tự động được

Bảo mật?

Chuyện các Web Hosting Control Panel lỗi nhiều hơn thì nó là hiển nhiên, tới Google, Microsoft, Facebook …. còn bị hack ầm ầm thì bạn trông chờ gì bảo mật ở mấy cái script bé tí như này 😀

2023-10-06_11-56-13

Thường mình nhìn changelog, xem trong 6 tháng gần nhất, tác giả có cập nhập phiên bản mới không, ở 2023 tác giả đã có 5 bản cập nhập, theo mình thế là đủ, có thể tự tin xử dụng cá nhân 😀

Còn làm cho khách, công ty hay cơm gạo thì cần xem xét kĩ hơn

Tổng kết

CloudPanel là một viên ngọc quý, sẽ rất đáng tiếc nếu nhiều người không dùng thử vì nghĩ control panel nặng và chậm, mình bổ xung thêm bài này, hi vọng mọi người trải nghiệm thêm

Nói tới khoản này lại thấy LiteSpeed làm truyền thông tốn thật 😀 một vài thành viên dùng CloudPanel, khen ngon, nhưng hỏi có Control Panel nào giống thế mà chạy LiteSpeed không :]] tại teo nghe quảng cáo LiteSpeed nhanh lắm 😛

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied