Nếu hoạt động I/O trên giây là nút cổ chai chính của bạn và bạn đang sử dụng Linux, có một hack dễ dàng chỉ làm mất chi phí bộ nhớ của bạn. Sử dụng một tmpfs gắn kết để giai đoạn RRD của bạn viết.
Tất cả các hoạt động i/o sẽ được thực hiện trong bộ nhớ và sẽ không gây ra bất kỳ tắc nghẽn nào được tìm thấy trong việc thực hiện đĩa (điều này thậm chí nhanh hơn sử dụng đĩa trạng thái rắn).Sau đó bạn có thể sử dụng lệnh cron và rsync để sao chép chỉ RRD đã thay đổi vào đĩa một lần sau vài phút.
Tạo các thư mục
bash-4.2# mkdir /mnt/rrd-reads
bash-4.2# mkdir /mnt/rrd-writes
Tạo một hệ thống tập tin RAM 500MB-tối đa với các tùy chọn thích hợp
bash-4.2# mount -t tmpfs -o size=500m,mode=0750,uid=collectd,gid=collectd none /mnt/rrd-writes
bash-4.2# echo "none /mnt/rrd-writes tmpfs size=500m,mode=0750,uid=collectd,gid=collectd 1 2" >> /etc/fstab
Sao chép các tập tin RRD cũ vào điểm mới gắn
bash-4.2# cp -a /var/lib/collectd/rrd/* /mnt/rrd-writes
Cấu hình ứng dụng RRD-viết của bạn ghi vào mới gắn kết điểm
bash-4.2# sed -i -e 's/DataDir "\/var\/lib\/collectd\/rrd"/DataDir "\/mnt\/rrd-writes"/' /etc/collectd/collectd.conf
Thiết lập một công việc định kỳ để đồng bộ hóa chỉ RRDs thay đổi vào đĩa một lần mỗi 2 phút
bash-4.2# echo "*/2 * * * * collectd rsync -a /mnt/rrd-writes/* /mnt/rrd-reads/ ; sync" > /etc/cron.d/rrd-sync
Đừng quên sao chép tệp RRD đã lưu của bạn es vào điểm gắn kết trước bạn bắt đầu ứng dụng rrd-writing của bạn! Bạn có thể cần phải chỉnh sửa tập lệnh init cho dịch vụ đó để đảm bảo các tệp ở đó trước khi bắt đầu. Nếu nó bắt đầu mà không có các tập tin tại chỗ, những cái trần mới sẽ được tạo ra và bạn sẽ rất bối rối khi thư mục đọc được ghi đè bằng các RRD trống.
Nếu lúc nào đó bạn cần phải thay đổi kích thước tmpfs gắn kết, bạn có thể làm điều đó một cách nhanh chóng:
bash-4.2# mount -t tmpfs -o remount,size=850m /mnt/rrd-writes
Nếu đó là I/O bị ràng buộc, sẽ không có được tốt? Điều đó có nghĩa là bạn có thể sử dụng giải pháp phần cứng, chẳng hạn như RAID, ổ đĩa thể rắn và nhiều máy để theo dõi dữ liệu không liên quan? – JasonSmith
quan điểm của tôi cũng ... câu hỏi là chỉ cần làm thế nào là HW được sử dụng ... việc sử dụng rrdcached là khá tối ưu ... một cơ sở dữ liệu (vào cuối ngày) cũng phải viết công cụ vào đĩa, nhưng vì nó là mục đích chung hơn nhiều, tôi nghi ngờ nó sẽ có thể làm điều đó hiệu quả như rrdtool ... –