Không biết bạn có tìm ra vấn đề này hay không.
Nhưng về cơ bản nếu bạn muốn sử dụng YCSB trên Redis Cluster, bạn cần triển khai Redis Cluster Client cho YCSB. Nó rất giống với ứng dụng khách mà YCSB dành cho Redis. Bạn có thể sao chép và dán Redis (phiên bản đơn) và thay đổi mã trong init (). Định cấu hình và biên dịch với maven sau đó bạn có thể chạy YCSB thông qua Redis Cluster Client.
Chi tiết hơn:
Bởi vì YCSB sử dụng java, vì vậy chúng tôi cần phải sử dụng jedis. Có một thứ trong jedis được gọi là JedisCluster, chúng ta cần sử dụng nó để tạo kết nối giữa YCSB và Redis Cluster. Bạn có thể tìm thêm thông tin chi tiết trên jedis github.
Đối với phần maven, hãy nhớ thay đổi pom.xml trong thư mục mã máy khách của bạn và cũng thêm mô-đun phía máy khách của bạn trong thư mục gốc YCSB của bạn (cũng là pom.xml, trong nosql).
Điều đáng nói:
Tôi đã thử nghiệm cho Redis Cluster bằng YCSB. Thiết lập là tiêu chuẩn, 4 nút không có bản sao, máy 8 lõi, bộ nhớ 8 GB, chạy YCSB từ một máy khác có cùng thiết lập với 6 luồng cho công nhân.
Redis Cluster chậm hơn 3 - 4 lần so với Redis Single Instance về mọi mặt. (Chủ yếu là để so sánh ngưỡng, trong đó thông lượng không thể tăng cao hơn bằng cách điều chỉnh tham số -target)
Tôi thực sự không biết đó là vấn đề của tôi hay đó là vấn đề của jedis / jedisCluster / YCSB / Redis Cluster / etc.
Nếu bạn chạy thành công YCSB trên Redis Cluster, vui lòng cho tôi biết kết quả. Tôi sẽ rất tò mò về kết quả của bạn.
Cảm ơn