- Timestamp:
-
Jun 23, 2008, 11:59:38 AM (15 years ago)
- Author:
-
oetiker
- Comment:
-
improved intro
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v5
|
v6
|
|
3 | 3 | == Problem == |
4 | 4 | |
5 | | The rrd data format is quite efficient when it comes to minimize the amount of data that has to be written to disk for a single update. Big installations feature many rrd files. With this the OS is not able to cache everything anymore and updating 60'000 rrd files can become incredibly slow. Writing the same amount of data into 10 files would be incredibly fast. |
| 5 | The rrd data format, in theory is quite efficient when it comes to minimize the amount of data that has to be written for a single update. While a single update writes as little as 32 Bytes of data, it will cause the OS update 2-3 disk blocks. And updatein a diskblock means reading (at least) 512 Bytes of data, updating the block and writing it back to disk. If the block is already cached, the reading bit will be skipped, makeing things quite a bit faster. This is why optimal cache management helps so much in speeding up rrdtool. On the other hand, that 512 Byte write does not go away. So if there was a way to bundle up several updates to a single rrd file, this would give us much better performance since still only that 512 Bytes block would have to be written to disk. |
6 | 6 | |
7 | 7 | == Solution == |
… |
… |
|
13 | 13 | * memory is full |
14 | 14 | * we receive a flush command |
15 | | * rrdgraph needs the rrd file |
| 15 | * some rrdtool function other than rrdupdate wants to read from the rrd file |
16 | 16 | |
17 | 17 | == Implementation == |
|