Bài viết hướng dẫn chi tiết từ A–Z cách cài đặt và tinh chỉnh ScyllaDB trên Debian để đạt hiệu năng tối đa. Nội dung bao gồm chuẩn bị môi trường, thiết lập BIOS và kernel, tối ưu phần cứng (CPU, RAM, NVMe, IRQ, NUMA), cấu hình hệ điều hành và tinh chỉnh chuyên sâu trong scylla.yaml. Ngoài ra, bài viết còn cung cấp các mẹo benchmark, giám sát hệ thống và các chiến lược “cực hạn” để ScyllaDB khai thác tối đa sức mạnh phần cứng, phù hợp cho môi trường production yêu cầu hiệu suất và độ ổn định cao.
1. Chuẩn bị môi trường DebianKhuyến nghị: Debian bản 64-bit trên máy vật lý hoặc VM với CPU hỗ trợ SSE4.2 và AVX2.
Cập nhật hệ thống:
sudo apt update && sudo apt full-upgrade -y
sudo apt install curl wget gnupg2 lsb-release software-properties-common -y
2. Cài đặt ScyllaDB trên Debian
2.1. BIOS / Firmware (bắt buộc trước khi cài ScyllaDB)
2.1.1. Tắt/điều chỉnh các tính năng tiết kiệm năng lượng (Power Management)
Disable Deep C-States (C6, C7, ...) hoặc giới hạn C-State: Các chế độ C-State sâu làm CPU ngủ sâu, tắt các nhân và giảm tần số. Điều này gây ra độ trễ khi CPU “đánh thức” lại, làm tăng jitter latency rất nhiều, đặc biệt khi chạy workload latency-sensitive như ScyllaDB.
Cách thực hiện:
+ Vào BIOS Setup → CPU Configuration → tìm phần C-State hoặc CPU Power Management → chọn Disable Deep C-States hoặc chỉ bật C1/C2 (tùy BIOS).
+ Một số BIOS có tuỳ chọn C-State Limit → set thấp nhất (ví dụ C1 hoặc C2).
2.1.2. Bật chế độ hiệu năng cao (Performance Mode / High Performance Power Plan)
Mục đích là giữ cho CPU luôn chạy ở xung nhịp tối đa, không giảm tần số khi idle hoặc tải thấp.
Trong BIOS thường có các profile power như Balanced / Performance / Power Saving, chọn Performance hoặc tương tự.
2.1.3. Kiểm tra cập nhật BIOS / Firmware mới nhất
Luôn update BIOS phiên bản mới nhất do nhà sản xuất cung cấp để sửa lỗi và tối ưu phần cứng.
Cẩn thận, chỉ cập nhật khi có thể đảm bảo nguồn điện ổn định.
2.1.4. Thiết lập thứ tự khởi động (Boot Order) để ưu tiên SSD/NVMe
Đảm bảo thiết bị lưu trữ chính là ổ NVMe hoặc SSD hiệu năng cao để khởi động nhanh, tránh delay boot.
2.1.5. Tắt các tính năng tiết kiệm điện nâng cao khác (nếu có)
Các tính năng như Intel SpeedStep, AMD Cool’n’Quiet có thể làm CPU giảm xung khi tải thấp, gây jitter.
Có thể tắt hoặc để BIOS ở chế độ Performance để vô hiệu hóa.
2.1.6. Bật XMP Profile (nếu dùng RAM hỗ trợ)
XMP (Extreme Memory Profile) giúp RAM chạy đúng tốc độ thiết kế. Nếu dùng RAM có XMP, bật profile này để tránh bị giới hạn tốc độ RAM mặc định thấp hơn.
Vào BIOS → Memory → bật XMP Profile 1 hoặc 2.
2.1.7. Tắt SMT / Hyper-Threading (nếu cần)
Hyper-Threading (Intel) hoặc SMT (AMD) tạo ra logical cores từ một physical core.
ScyllaDB khuyến nghị để tăng độ ổn định và giảm jitter, nên tắt SMT, chạy Scylla trên core vật lý thực sự.
Tham khảo thử nghiệm của Scylla và nhiều bài benchmark cho thấy disable SMT giúp ổn định hiệu năng hơn cho workload đòi hỏi throughput + latency thấp.
Cách thực hiện:
+ Vào BIOS theo hướng dẫn (nhấn F2, Delete, ESC, F10 tùy máy khi khởi động).
+ Tìm mục cấu hình CPU thường nằm trong Advanced CPU Configuration, Processor, CPU Features hoặc tương tự.
+ Tìm lựa chọn có tên: Intel Hyper-Threading Technology, SMT Mode, Logical Processor
+ Chọn Disable để tắt.
+ Lưu thay đổi và khởi động lại máy.
Lưu ý: Nếu hệ thống dùng rất nhiều core và SMT giúp throughput tổng thể thì có thể giữ SMT, nhưng cần benchmark cụ thể.
2.2. Cài đặt ScyllaDB
- Thêm repository chính thức:
curl -s https://repositories.scylladb.com/scylla/repo/deb/debian/scylla-6.2.repo | sudo tee /etc/apt/sources.list.d/scylla.list
curl -s https://repositories.scylladb.com/scylla/repo/deb/debian/scylla-6.2.pub | sudo apt-key add -
- Cài đặt:
sudo apt update
sudo apt install scylla -y
- Kiểm tra phiên bản: scylla --version
3. Tối ưu phần cứng & hệ điều hành
ScyllaDB có script scylla_setup giúp tối ưu tự động cho nhiều loại thiết bị. Tuy nhiên đó chỉ là cấu hình chung cho nhiều loại hệ thống, chưa tận dụng hết tiềm năng phần cứng.
Cách chạy scylla_setup: sudo scylla_setup. Một số bước scylla_setup thường thực hiện:
+ CPU pinning: Gán tiến trình Scylla vào các core cố định để giảm độ trễ.
+ IRQ balancing: Cấu hình lại interrupt request để tránh nghẽn CPU.
+ Setup HugePages: Bật bộ nhớ trang lớn cho hiệu suất truy cập bộ nhớ tốt hơn.
+ I/O tuning: Tối ưu scheduler và hàng đợi I/O cho SSD/NVMe.
+ Networking tuning: Chỉnh tham số TCP/IP để tối ưu kết nối.
+ Disable swap: Tắt swap để tránh paging.
+ NUMA awareness: Cấu hình chạy tối ưu theo kiến trúc NUMA.
Để tối ưu hệ thống ScyllaDB, nên cấu hình chi tiết hơn:
3.1. Tắt swap (ScyllaDB không thích swap)
ScyllaDB khuyến nghị tắt swap hoàn toàn vì swap gây latency spikes và làm giảm throughput khi xử lý I/O nặng. Thay vì swap, hãy đảm bảo đủ RAM + dùng vm.overcommit_memory=1 để tránh OOM sớm. Vì khi tắt swap, kernel sẽ cẩn thận hơn và đôi khi từ chối cấp phát bộ nhớ dù thực tế vẫn còn trống. vm.overcommit_memory=1 giúp ScyllaDB không bị từ chối trong các tình huống burst load.
3.1.1. vm.overcommit_memory là gì?
Đây là một tham số của Linux kernel quy định cách hệ thống cho phép tiến trình yêu cầu bộ nhớ. Có 3 chế độ:
+ 0 (mặc định): Kernel dự đoán và cho phép cấp phát nếu nghĩ rằng đủ RAM + swap.
+ 1: Cho phép overcommit hoàn toàn — tức là ứng dụng yêu cầu bao nhiêu thì kernel cứ cấp phát, không kiểm tra.
+ 2: Không cho phép overcommit quá mức giới hạn trong overcommit_ratio.
Với ScyllaDB, dùng 1 sẽ tránh tình huống kernel từ chối cấp phát bộ nhớ do tính toán sai, gây crash hoặc treo.
3.1.2. Cách bật vm.overcommit_memory=1
Thêm vào file /etc/sysctl.conf hoặc /etc/sysctl.d/99-scylla.conf: vm.overcommit_memory = 1
Rồi áp dụng: sudo sysctl --system
3.1.3. Tắt swap vĩnh viễn
Mở file /etc/fstab và comment hoặc xóa dòng chứa swap: sudo nano /etc/fstab
Ví dụ: # /swapfile swap swap defaults 0 0
Lưu file (Ctrl+O, Enter, Ctrl+X).
3.2. Cấu hình HugePages
3.2.1. Hiểu về HugePages trong ScyllaDB
HugePages là các trang bộ nhớ lớn hơn mặc định (Linux mặc định 4KB/page). Với 2MB/page (hoặc 1GB/page trên một số CPU), CPU sẽ cần ít entry trong TLB → giảm miss → tăng hiệu năng. ScyllaDB rất nhạy với TLB miss vì nó truy cập dữ liệu ngẫu nhiên nhiều. Scylla khuyến nghị dùng static HugePages (hugepages được reserve trước khi chạy) thay vì Transparent HugePages (THP). THP gây jitter và latency spike, nên phải tắt THP (transparent_hugepage=never)
3.2.2. Xác định số lượng HugePages cần
Công thức (theo khuyến nghị Scylla): Số hugepages = (RAM cấp cho Scylla / kích thước 1 hugepage)
Ví dụ:
+ RAM vật lý: 64GB
+ Cấp cho Scylla: 48GB
+ Kích thước HugePage: 2MB
Tính: 48 GB / 2 MB = 24576 hugepages
3.2.3. Cấu hình HugePages trên Debian
- Kiểm tra kích thước HugePage mặc định: grep Hugepagesize /proc/meminfo
Kết quả thường là: Hugepagesize: 2048 kB
- Tắt Transparent HugePages:
Tạm thời (runtime): echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
Vĩnh viễn: thêm vào /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... transparent_hugepage=never"
sudo update-grub
- Reserve HugePages: Tạo file /etc/sysctl.d/99-hugepages.conf với nội dung là vm.nr_hugepages = 24576
Áp dụng cấu hình thay đổi: sudo sysctl --system
- Cho phép Scylla lock memory: Để tránh hugepages bị swap hoặc reclaim
Thêm vào /etc/security/limits.d/scylla.conf:
scylla soft memlock unlimited
scylla hard memlock unlimited
- Để HugePages vẫn được giữ nguyên mỗi lần khởi động Debian. Trên Debian, nếu dùng systemd, có thể thêm: sudo sysctl -w vm.nr_hugepages=24576 vào /etc/rc.local
- Kiểm tra với Scylla
Sau khi cấu hình xong:
sudo systemctl restart scylla-server
journalctl -u scylla-server | grep hugepages
Nếu log báo: INFO [shard 0] init - Successfully allocated 24576 huge pages → OK.
3.3. Tối ưu sysctl
3.3.1. Nguyên tắc khi tối ưu sysctl cho ScyllaDB
+ Tối ưu theo workload: ScyllaDB là DB NoSQL tối ưu I/O song song, nên kernel cần cho phép hàng đợi lớn, tăng buffer, và giảm delay TCP.
+ Giảm context switch và latency: Bằng cách hạn chế TCP TIME_WAIT, SYN backlog nhỏ, và tránh swapping.
+ Khai thác full hardware: Đặt limit số file, I/O queue, và hugepages.
3.3.2. File cấu hình sysctl khuyến nghị
Tạo file /etc/sysctl.d/99-scylla-ultra.conf:
########################################
# MEMORY
########################################
# Tắt swap hoàn toàn
vm.swappiness = 0
# Giảm dirty page ratio để flush sớm, tránh spike latency
vm.dirty_ratio = 5
vm.dirty_background_ratio = 2
# Cho phép overcommit để tránh out-of-memory khi allocation nhanh
vm.overcommit_memory = 1
# Dự trữ HugePages (tùy RAM)
vm.nr_hugepages = 1024
# Tắt NUMA balancing tự động
kernel.numa_balancing = 0
########################################
# FILE DESCRIPTORS / AIO
########################################
fs.file-max = 2097152
# Tối đa số async I/O requests
fs.aio-max-nr = 1048576
########################################
# NETWORK
########################################
# Số kết nối pending tối đa
net.core.somaxconn = 4096
# Backlog gói nhận trước khi drop
net.core.netdev_max_backlog = 250000
# Số request TCP SYN tối đa
net.ipv4.tcp_max_syn_backlog = 4096
# Giảm thời gian giữ FIN_WAIT
net.ipv4.tcp_fin_timeout = 10
# Reuse TIME_WAIT socket
net.ipv4.tcp_tw_reuse = 1
# Mở rộng range port tạm
net.ipv4.ip_local_port_range = 1024 65000
########################################
# TCP BUFFER (điều chỉnh nếu băng thông WAN lớn)
########################################
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
3.3.3. Áp dụng cấu hình
sudo sysctl --system
Kiểm tra hệ thống:
sysctl vm.swappiness
sysctl net.core.somaxconn
3.3.4. Giải thích từng nhóm
Memory:
+ vm.swappiness = 0 → tránh swap vì Scylla xử lý dữ liệu memory-bound.
+ vm.dirty_ratio / vm.dirty_background_ratio → flush sớm, tránh dồn nhiều dirty page → tránh “stop the world I/O flush” gây spike latency.
+ vm.nr_hugepages → giảm TLB miss, tăng throughput.
+ kernel.numa_balancing = 0 → tránh kernel tự di chuyển page giữa NUMA nodes (Scylla đã tự pin thread vào NUMA).
File descriptors / AIO:
+ fs.file-max → tăng số lượng file descriptor tối đa cho nhiều kết nối CQL/Alternator.
+ fs.aio-max-nr → cho phép nhiều async I/O outstanding hơn.
Network:
+ net.core.somaxconn → tăng backlog accept queue để tránh mất kết nối khi load cao.
+ net.core.netdev_max_backlog → tăng hàng đợi packet NIC nhận trước khi bị drop.
+ net.ipv4.tcp_max_syn_backlog → tăng số kết nối half-open (SYN_RECV).
+ net.ipv4.tcp_fin_timeout → giảm FIN_WAIT timeout, giải phóng nhanh socket.
+ net.ipv4.tcp_tw_reuse → cho phép tái sử dụng TIME_WAIT socket.
+ net.ipv4.ip_local_port_range → mở rộng range port tạm để nhiều kết nối outbound song song.
TCP Buffer:
+ net.core.rmem_max / wmem_max → cho phép TCP dùng buffer lớn hơn nếu băng thông cao.
+ net.ipv4.tcp_rmem / tcp_wmem → điều chỉnh auto-tuning TCP cho băng thông cao / latency thấp.
3.4. Tắt NUMA balancing
Lý do ScyllaDB khuyến nghị tắt: NUMA balancing của kernel di chuyển page giữa các node để cân bằng, nhưng điều này gây latency spikes và phá CPU pinning của Scylla. Khi tắt, dữ liệu sẽ nằm cố định trên NUMA node mà thread đang dùng, giữ độ trễ thấp hơn.
Để tắt NUMA balancing trên Debian, có 2 cách: Tắt tạm thời và tắt vĩnh viễn
+ Tắt tạm thời (áp dụng ngay, không cần reboot): echo 0 | sudo tee /proc/sys/kernel/numa_balancing
Kiểm tra lại: cat /proc/sys/kernel/numa_balancing # nếu ra 0 là đã tắt
+ Tắt vĩnh viễn (giữ sau reboot): Thêm numa_balancing=disable vào dòng kernel trong /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash numa_balancing=disable"
Rồi áp dụng cấu hình:
sudo update-grub
sudo reboot
3.5. I/O Scheduler (cho NVMe)
3.5.1. Nguyên tắc chung
Với NVMe/SSD hiện đại thường không cần scheduler phức tạp của kernel — nhiều nguồn khuyến nghị đặt scheduler về none hoặc mq-deadline (mq-deadline là biến thể multiqueue của deadline). none thường cho độ trễ thấp nhất; mq-deadline đôi khi ổn định hơn trên một số hệ thống. Hầu hết DB/enterprise guides khuyên none cho NVMe, nhưng thử nghiệm thực tế vẫn là bước bắt buộc.
3.5.2. Kiểm tra scheduler hiện tại
Liệt kê devices NVMe: lsblk -d -o NAME,MODEL | grep -i nvme
Kiểm tra scheduler của một block device (vd: nvme0n1): cat /sys/block/nvme0n1/queue/scheduler #output ví dụ: [none] mq-deadline kyber
3.5.3. Thay đổi tạm thời (hiệu lực ngay, mất sau reboot)
Thay nvme0n1 sang 'none': echo none | sudo tee /sys/block/nvme0n1/queue/scheduler
Hoặc chuyển tất cả NVMe devices:
for d in /sys/block/nvme*; do
echo none | sudo tee $d/queue/scheduler
done
3.5.4. Làm persistent (sau reboot)
Tạo file rule: sudo nano /etc/udev/rules.d/60-ioschedulers.rules
Thêm nội dung: ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
Áp dụng rule mới:
sudo udevadm control --reload
sudo udevadm trigger --action=change
Kiểm tra lại: cat /sys/block/nvme0n1/queue/scheduler
3.5.5. Cách so sánh/benchmark để chọn scheduler tốt nhất cho Scylla
3.5.5.1. Nguyên tắc benchmark
+ So sánh theo latency percentiles (p50, p95, p99) → Scylla rất nhạy với độ trễ, nhất là p99.
+ Test với workload gần thực tế nhất → vừa dùng fio để kiểm tra raw I/O, vừa dùng cassandra-stress hoặc scylla-bench để kiểm tra ở mức CQL.
+ Cùng điều kiện test → cùng dataset, cùng số thread, cùng thời gian, chỉ đổi scheduler (None hay mq-deadline).
3.5.5.2. Chuẩn bị môi trường
Đảm bảo Scylla đã cài và chạy, commitlog/data nằm trên NVMe cần test.
Xác định thiết bị NVMe: lsblk -d -o NAME,MODEL. Giả sử kết quả là nvme0n1.
Cài công cụ benchmark:
sudo apt update
sudo apt install fio
sudo apt install scylla-tools
3.5.5.3. Benchmark raw I/O với fio
Chạy test cho từng scheduler:
for sched in none mq-deadline kyber; do
echo "=== Testing $sched ==="
echo $sched | sudo tee /sys/block/nvme0n1/queue/scheduler
sleep 2
fio --filename=/dev/nvme0n1 --direct=1 --rw=randrw --bs=4k \
--ioengine=libaio --iodepth=32 --numjobs=4 \
--runtime=60 --time_based --name=test-${sched} \
--output=fio-${sched}.json --output-format=json
done
Kết quả fio-*.json sẽ chứa:
+ IOPS (read/write)
+ Bandwidth
+ Latency (avg, p99, p99.99)
3.5.5.4. Benchmark ở mức CQL với cassandra-stress
Ví dụ test write-heavy:
for sched in none mq-deadline kyber; do
echo "=== Testing $sched ==="
echo $sched | sudo tee /sys/block/nvme0n1/queue/scheduler
sleep 2
cassandra-stress write n=5M cl=QUORUM -schema "replication(factor=1)" \
-mode native cql3 -pop seq=1..5000000 -node 127.0.0.1 \
-rate threads=200 -log file=stress-${sched}.log
done
Sau đó phân tích file log để lấy throughput và latency percentiles.
3.5.5.5. Phân tích & chọn scheduler
Dùng jq để rút trích p99 từ kết quả fio:
for sched in none mq-deadline kyber; do
echo "$sched: $(jq '.jobs[0].read.clat.percentile."99.000000"' fio-${sched}.json) us"
done
So sánh:
+ Nếu none cho p99 thấp nhất và ổn định → chọn none.
+ Nếu thấy latency spikes hoặc IOPS drop → thử mq-deadline.
+ kyber chỉ thắng trong một số workload sequential hoặc kernel mới.
3.5.5.6. Lưu ý khi test
+ Tắt mọi workload khác để kết quả không nhiễu.
+ Làm 2–3 lần mỗi test để loại bỏ biến động ngẫu nhiên.
+ Trên VM hoặc cloud, scheduler của guest (Debian của bạn) có thể không ảnh hưởng thực tế vì hypervisor của cloud provider xử lý I/O. Dưới đây là quy trình phát hiện tự động xem trong VM/cloud scheduler guest có tác dụng hay không, rồi gợi ý tối ưu tương ứng.
Với script này, chỉ cần:
chmod +x scylla_scheduler_test.sh
./scylla_scheduler_test.sh /var/lib/scylla
4. Tối ưu cấu hình ScyllaDB
Dưới đây là công thức và các nguyên tắc tối ưu cấu hình ScyllaDB dựa trên phần cứng, để dễ tính toán và áp dụng nhanh cho từng thông số chính trong file scylla.yaml.
Tham số | Công thức / Quy tắc | Giải thích / Ghi chú |
---|---|---|
smp | số core vật lý dành cho Scylla |
Số worker threads. Thường bằng số core vật lý (không phải logical/HT). Nếu có isolcpus riêng cho Scylla, set bằng số cores đó. |
memory (MB) | 0.7 * tổng RAM (MB) |
Dành 70% RAM cho Scylla (thường dao động 60–80% tùy workload). Ví dụ máy 128GB → 12810240.7 ≈ 91750 MB. |
num_io_queues | số ổ NVMe * số NUMA nodes |
Số queue IO dùng để xử lý I/O song song. Mỗi ổ NVMe thường có nhiều queue. |
memtable_heap_space_in_mb | ~ 0.2 * memory hoặc từ 4GB đến 25GB |
Bộ nhớ tối đa cho memtable heap (chưa ghi đĩa). Tăng để giảm ghi đĩa, nhưng không nên quá lớn tránh giật GC. |
row_cache_size_in_mb | Tùy chọn, ví dụ 0 hoặc 8GB |
Nếu workload phù hợp cache dòng, bật lên (giúp đọc nhanh). Nếu không, để 0 để tránh lãng phí RAM. |
commitlog_sync | batch hoặc periodic |
batch hiệu quả hơn, batch sync ghi nhanh với độ trễ thấp. |
commitlog_sync_batch_window_in_ms | 1–5 ms (ví dụ 2 ms) | Thời gian gom batch commitlog trước khi ghi đĩa. Càng nhỏ càng trễ thấp, nhưng có thể tăng I/O. |
commitlog_segment_size_in_mb | 64 MB hoặc 128 MB | Kích thước file commitlog; quá nhỏ dễ sinh file nhiều, quá lớn làm hồi phục lâu. |
compaction_throughput_mb_per_sec | Từ 128 MB/s đến 512 MB/s tùy I/O | Tốc độ làm compaction. Tăng để có throughput cao, giảm để không ảnh hưởng quá nhiều I/O đọc/ghi. |
listen_address | IP node | Địa chỉ IP máy chủ, để các node khác kết nối. |
rpc_address | IP bind cho RPC, thường 0.0.0.0 hoặc IP cụ thể |
Địa chỉ bind cho giao tiếp CQL client. |
Giả sử máy bạn có:
+ 32 core vật lý, 64 logical cores (Hyper-Threading)
+ RAM: 256 GB
+ 4 NVMe, 2 NUMA nodes
+ Dùng Scylla độc quyền (node dedicated)
Tham số | Giá trị |
---|---|
smp | 32 (core vật lý, không tính HT) |
memory | 0.7 * 256 * 1024 = 183500 MB (≈ 180 GB) |
num_io_queues | 4 NVMe * 2 NUMA = 8 |
memtable_heap_space_in_mb | 0.2 * 183500 ≈ 36700 MB (~36 GB) |
row_cache_size_in_mb | 8192 (8 GB) hoặc 0 nếu không dùng |
commitlog_sync | batch |
commitlog_sync_batch_window_in_ms | 2 ms |
commitlog_segment_size_in_mb | 64 MB |
compaction_throughput_mb_per_sec | 256 MB/s |
Công thức tóm tắt dạng "pseudo-code"
smp = number_of_physical_cores
memory = total_RAM_MB * 0.7
num_io_queues = number_of_NVMe * number_of_NUMA_nodes
memtable_heap_space_in_mb = min(max(memory * 0.2, 4096), 25000) # between 4GB and 25GB recommended
row_cache_size_in_mb = 8192 # tùy chọn
commitlog_sync = "batch"
commitlog_sync_batch_window_in_ms = 2
commitlog_segment_size_in_mb = 64
compaction_throughput_mb_per_sec = 256 # điều chỉnh tăng giảm tùy tài nguyên IO
Dưới đây là script Python nhỏ giúp tự tính và tạo mẫu file scylla.yaml tối ưu dựa trên input phần cứng (CPU core, RAM, NVMe, NUMA). Chỉ nhập thông số phần cứng, script sẽ in ra cấu hình mẫu để bạn copy vào /etc/scylla/scylla.yaml chỉnh sửa tiếp theo nhu cầu.
Khởi chạy & kiểm tra setup script: sudo scylla_setup
Chọn Yes cho CPU pinning, IRQ balance, HugePages, I/O tuning.
Khởi động:
sudo systemctl enable scylla-server
sudo systemctl start scylla-server
Kiểm tra trạng thái: nodetool status