Improving disk demand of Baseform cloud servers
Baseform cloud servers securely receive and analyze data from utility GIS, billing, SCADA, metering and other systems in real-time. Part of my job is to make sure we operate at maximum efficiency and maintain scalability as the number of utilities, cities and end-users grows exponentially.
Any limitation to availability or responsiveness is effectively a showstopper for us. We recently observed a pretty nasty trajectory on the servers monitoring system, particularly on disk writes. This would eventually lead to reduced performance or to the need of adding more server instances to deal with the additional disk load.
By profiling server code and real-time behavior, the critical software process was identified – we found that the strategy for writing and updating the larger workload represented by raw time series data could be improved.
Baseform receives raw (i.e., unprocessed) metering data from flow, pressure, quality and other water network sensors; this raw data is stored and then goes through a process of data normalization and analysis, leading to dynamic demand and consumption analysis and identification of abnormal behavior and events. In the background, Baseform includes a specialized storage and time series lookup structure which optimizes server resources and processing time.
In summary, we were able to reduce disk writes by about 80%, by looking at data and redesigning the way we write in raw metering data files.
Baseform is not just about looking good – the real devil is in the detail.
Lead Developer, at Baseform