Tôi mới sử dụng NoSQL và Cassandra. Tôi đang thử nghiệm với các thiết lập để đạt được một giải pháp duy nhất trong bộ nhớ cache chỉ. Tôi đang xử lý bằng cách đọc từng dòng từ một tệp 100000 dòng và sử dụng Hector để chèn vào Cassandra. Tôi nhận thấy một thông lượng rất thấp khoảng 6000 lần chèn mỗi giây. Toàn bộ hoạt động viết khoảng 20,5 giây không thể chấp nhận đối với ứng dụng của chúng tôi. Chúng tôi cần một cái gì đó giống như 100000 chèn mỗi giây. Tôi đang thử nghiệm trên một máy tính Windows 7 với RAM 4GB.Hiệu suất ghi thấp của Cassandra
Tôi đang thực hiện kiểm tra chỉ chèn.
Vui lòng cho tôi biết nơi tôi đang gặp sự cố. Vui lòng đề xuất cách tôi có thể cải thiện số lần chèn mỗi giây.
Keyspace: Keyspace1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: 0.003106884242157228 ms.
Pending Tasks: 0
Column Family: user
SSTable count: 3
Space used (live): 17691
Space used (total): 17691
Number of Keys (estimate): 384
Memtable Columns Count: 100000
Memtable Data Size: 96082090
Memtable Switch Count: 1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: NaN ms.
Pending Tasks: 0
Key cache capacity: 150000
Key cache size: 0
Key cache hit rate: NaN
Row cache capacity: 150000
Row cache size: 0
Row cache hit rate: NaN
Compacted row minimum size: 73
Compacted row maximum size: 924
Compacted row mean size: 784
Tôi đã thử vài phương pháp để thiết lập bộ nhớ cache và bộ nhớ cache hàng chính:
Qua Cassandra CLI
Qua NodeCmd: java org.apache.cassandra.tools.NodeCmd - p 7199 setcachecapacity Người dùng Keyspace1 150000 150000
Bạn đang sử dụng loại bộ nhớ đĩa nào? Đây có phải là ổ SSD hoặc HDD hoặc hệ thống tệp bộ nhớ không? Bao nhiêu CPU người dùng/hệ thống là ứng dụng của bạn sử dụng khi điều này đang chạy? (trong Trình quản lý Tác vụ) –
Ổ đĩa lưu trữ là Đĩa cứng. Tổng CPU là khoảng 40%. –
Khi chúng tôi thực hiện một số thử nghiệm một năm trước, chúng tôi thấy Cassandra chậm hơn PostgreSQL cho đến khi Cassie có hơn 4 máy chủ. Vì vậy, tôi không ngạc nhiên. –