- Bước 1: Cài đặt Dragonfly từ Repository chính thức
- Bước 2: Thiết lập Unix Socket cho Dragonfly
- 1. Tạo RuntimeDirectory bằng systemd
- 2. Khai báo Unix Socket trong cấu hình Dragonfly
- 3. Reload và khởi động lại Dragonfly
- 4. Tối ưu hiệu năng Dragonfly theo cấu hình VPS
- Bước 3: Cấu hình WordPress sử dụng Dragonfly
- Bước 4: Kiểm tra kết nối Dragonfly
- Kết luận
Trong bài viết này, chúng ta sẽ cài đặt Dragonfly từ repository chính thức, cấu hình Unix Socket chuẩn bằng systemd và kết nối trực tiếp với WordPress.
Bước 1: Cài đặt Dragonfly từ Repository chính thức
Mở terminal và chạy lần lượt các lệnh sau để thêm repository chính thức của Dragonfly vào hệ thống:
sudo apt update && sudo apt install -y curl
sudo curl -Lo /usr/share/keyrings/dragonfly-keyring.public https://packages.dragonflydb.io/pgp-key.public
sudo curl -Lo /etc/apt/sources.list.d/dragonfly.sources https://packages.dragonflydb.io/dragonfly.sources
sudo apt update && sudo apt install -y dragonfly
Sau khi hoàn tất, hệ thống sẽ tự động cài đặt service Dragonfly vào systemd.
Bước 2: Thiết lập Unix Socket cho Dragonfly
Thư mục /run sẽ bị xóa mỗi khi server reboot, vì vậy cách chuẩn nhất là sử dụng systemd RuntimeDirectory để hệ thống tự động tạo thư mục socket khi Dragonfly khởi động.
1. Tạo RuntimeDirectory bằng systemd
Chạy lệnh sau để chỉnh sửa service override:
sudo systemctl edit dragonfly
Dán nội dung sau vào editor:
[Service]
RuntimeDirectory=dragonfly
Group=www-data
Cấu hình này sẽ tự động tạo thư mục /run/dragonfly mỗi khi Dragonfly khởi động.
2. Khai báo Unix Socket trong cấu hình Dragonfly
Mở file cấu hình chính:
sudo nano /etc/dragonfly/dragonfly.conf
Thêm các dòng sau vào cuối file:
--unixsocket=/run/dragonfly/dragonfly.sock
--unixsocketperm=0770
--port=6380
Trong đó:
--unixsocket: tạo file socket cho Dragonfly.--unixsocketperm=0770: cấp quyền đọc/ghi cho web server hoặc PHP-FPM.--port=6380: tránh xung đột với Redis mặc định đang chạy ở cổng 6379.
Lưu file lại và thoát editor.
3. Reload và khởi động lại Dragonfly
sudo systemctl daemon-reload
sudo systemctl restart dragonfly
sudo systemctl enable dragonfly
Sau khi hoàn tất, Dragonfly sẽ tự động khởi động cùng hệ thống.
4. Tối ưu hiệu năng Dragonfly theo cấu hình VPS
Sau khi cấu hình Unix Socket, có thể tối ưu thêm Dragonfly tùy theo tài nguyên VPS để đạt hiệu năng tốt hơn cho WordPress Object Cache.
1. VPS nhỏ (1-2 vCPU, 1-2 GB RAM)
Với VPS nhỏ, mục tiêu chính là giảm overhead và tiết kiệm RAM. Dragonfly nên chạy theo hướng tối giản để giảm latency và tránh chiếm toàn bộ bộ nhớ hệ thống.
Thêm các dòng sau vào cuối file /etc/dragonfly/dragonfly.conf:
--cache_mode=true
--proactor_threads=1
--maxmemory=512mb
--dbnum=1
Trong đó:
--cache_mode=true: tối ưu Dragonfly cho workload dạng cache.--proactor_threads=1: giảm overhead thread trên VPS ít CPU.--maxmemory=512mb: giới hạn RAM để tránh OOM khi chạy cùng MariaDB, PHP-FPM hoặc Nginx.--dbnum=1: giảm overhead database index không cần thiết.
Với VPS nhỏ, không nên bật persistence hoặc snapshot vì WordPress Object Cache không cần lưu dữ liệu lâu dài sau reboot.
2. VPS lớn (4+ vCPU, 4+ GB RAM)
Trên VPS hoặc dedicated server nhiều CPU core, Dragonfly bắt đầu phát huy sức mạnh multicore và concurrent workload.
Thêm hoặc chỉnh sửa cấu hình:
--cache_mode=true
--proactor_threads=4
--maxmemory=4gb
--dbnum=1
Có thể tăng giá trị --proactor_threads theo số lượng vCPU thực tế của server:
- 4 vCPU → 4 threads
- 8 vCPU → 8 threads
- 16 vCPU → 16 threads
Dragonfly đặc biệt phù hợp với các website có:
- traffic lớn
- nhiều PHP workers
- object cache dung lượng lớn
- trending cache realtime
- recommendation engine
- live search hoặc personalized homepage
Sau khi chỉnh sửa cấu hình, khởi động lại Dragonfly để áp dụng thay đổi:
sudo systemctl restart dragonfly
Bước 3: Cấu hình WordPress sử dụng Dragonfly
Mở file wp-config.php của website và thêm hoặc chỉnh sửa lại phần Redis Object Cache:
/* Redis Object Cache — Dragonfly Unix Socket */
define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/run/dragonfly/dragonfly.sock' );
WordPress lúc này sẽ kết nối trực tiếp tới Dragonfly thông qua Unix Socket thay vì TCP.
Bước 4: Kiểm tra kết nối Dragonfly
Trước khi bật Object Cache trong WordPress, có thể kiểm tra nhanh socket bằng lệnh:
redis-cli -s /run/dragonfly/dragonfly.sock ping
Nếu terminal trả về:
PONG
thì Dragonfly đã hoạt động chính xác và sẵn sàng sử dụng cho WordPress.
Kết luận
Dragonfly là một lựa chọn rất đáng chú ý cho WordPress object cache nhờ khả năng tương thích Redis protocol, hiệu năng cao và kiến trúc tối ưu cho workload concurrent. Việc sử dụng Unix Socket giúp giảm thêm độ trễ kết nối nội bộ và đặc biệt phù hợp với các hệ thống WordPress traffic lớn hoặc có nhiều truy vấn cache realtime.
Bình luận