Jeśli operacje we/wy na sekundę są twoim głównym wąskim gardłem i używasz Linuksa, jest łatwy hack, który kosztuje tylko pamięć. Użyj zestawu montażowego tmpfs, aby rozmieścić zapisy RRD.
Wszystkie operacje wejścia/wyjścia zostaną wykonane w pamięci i nie spowodują żadnego zatorów napotkanych podczas tworzenia dysku i/o (jest to nawet szybsze niż w przypadku dysków SSD).Następnie możesz użyć zadania cron i rsync, aby kopiować tylko zmienione RRD na dysk raz na kilka minut.
Tworzenie katalogów
bash-4.2# mkdir /mnt/rrd-reads
bash-4.2# mkdir /mnt/rrd-writes
Tworzenie 500MB-maksymalna RAM system plików z odpowiednimi opcjami
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
skopiować stare pliki RRD do nowego podmontownego
bash-4.2# cp -a /var/lib/collectd/rrd/* /mnt/rrd-writes
Skonfiguruj swoją aplikację RRD pisanie pisać do nowego podmontownego
bash-4.2# sed -i -e 's/DataDir "\/var\/lib\/collectd\/rrd"/DataDir "\/mnt\/rrd-writes"/' /etc/collectd/collectd.conf
Skonfiguruj crona synchronizować tylko zmienione RRDs na dysku co 2 minuty
bash-4.2# echo "*/2 * * * * collectd rsync -a /mnt/rrd-writes/* /mnt/rrd-reads/ ; sync" > /etc/cron.d/rrd-sync
Nie zapomnij skopiować zapisanego pliku RRD es do punktu montowania przed uruchamiasz aplikację rrd-writing! Może zajść potrzeba edytowania skryptu init dla tej usługi, aby upewnić się, że pliki są tam, zanim się uruchomi. Jeśli rozpocznie się bez plików w miejscu, zostaną utworzone nowe, nagie, a będziesz bardzo zdezorientowany, gdy katalog odczytu zostanie zastąpiony pustymi RRD.
Jeśli w pewnym momencie trzeba zmienić rozmiar zamontować tmpfs, można to zrobić w locie:
bash-4.2# mount -t tmpfs -o remount,size=850m /mnt/rrd-writes
jeśli jest to I/O związany, nie byłoby to dobre? Oznacza to, że możesz użyć rozwiązania sprzętowego, takiego jak RAID, dyski półprzewodnikowe i wiele maszyn do śledzenia niepowiązanych danych? – JasonSmith
również mój punkt widzenia ... pytanie brzmi, jak dobrze jest używana HW ... rrdcached użycie jest całkiem optymalne ... baza danych (na koniec dnia) również musi pisać rzeczy na dysk, ale ponieważ jest to o wiele bardziej ogólny cel, wątpię, czy uda mu się to tak skutecznie, jak rrdtool ... –