The main principle of 5gVision VoIP stats collection is that CDRs are either polled
directly from the CDR DB on the switch every 15-20 seconds, in small chunks using an index,
or extracted via uploading CDR files as often as they are created.
CDR data is then processed and converted to various
statistical tables, optimized for very quick search and retrieval. CDR records are
discarded after the processing (unless
CDR replication is working, see below).
When a user requests a chart or a report from the web interface - CDRs in the VoIP switch
are not touched any more, all data is obtained from the internal stats tables of 5gVision.
Thus, 5gVision creates
0 load to the switch DB for any user monitoring activity.
The only load created by 5gVision to the switch
is to retrieve CDRs every 15-20 seconds, this load,
however, is pretty negligible, and here is why:
- CDRs are stored with indexes on CDR date or CDR ID. Since 5gVision
requests only the very recent CDR, filtered by date or ID,
the query that is selecting CDRs is using the index and is very quick.
- Furthermore, since CDRs retrieved are very recent, and have just been written to
the HDD, most probably they are still in the OS cache, and are provided from RAM, not HDD.
- 5gVision needs only a limited number of fields from CDR tables. The amount of data that
travels every minute from a switch DB to a 5gVision server during the peak hours
is usually less than 300 KBytes, including customers/vendors and area names, and
info on active calls.
The overall additional bandwidth consumed by sending data to 5gVision is usually
within 5-10 GBytes per month for a 1000-call system.