Delphix 4.0 Performance Analytics
This is super cool, fine grain powerful performance analytics in Delphix 4.0 just released!
To understand what the analytics shows, it is important to understand the role Delphix plays and where Delphix sits in the architecture of data. Delphix is used to provide clones of a data. The most well know Delphix data cloning example is the use case of cloning Oracle databases. If I had three normal copies of an Oracle database, then each of those copies would be using their own separate copies of the datafiles, as shown in the image below on the left side. With Delphix, the 3 copies of the same database would share one compressed copy of the data files. Delphix would orchestrate and manage interaction with these datafiles such that any modifications would be stored separately from the original files and that these modification would only be visible to the clone that made the change. As far as the clone is concerned, it sees Delphix as a NAS and it sees the datafiles as it’s own private copy of the datafiles. The only impact Delphix has on the Oracle virtual clones is I/O latency, thus being able to monitor I/O latency is of great interest and Delphix delivers in spades.
The Delphix analytic interface shows in rich detail the two main components of I/O latency which are NFS response from Delphix and the I/O response to Delphix. The Delphix interface shows NFS latency, IOPs and throughput from Delphix to the Oracle instances and the Delphix analytic interface shows the latency, IOPs, and throughput Delphix is getting from the storage that has been assigned to Delphix.
If there is any concern about I/O latency on the Oracle instance using Delphix then the analytics interface will show the latency of the NFS response from Delphix as well as the I/O response from the underlying storage. With these two data points one can determine if the underlying storage has issues or if Delphix is adding latency. If Delphix is adding latency, then the two main concerns are how much CPU Delphix is using and whether the network communications are maxing out the network pipes. For example with network, the most we can push over 1GbE is around 100MB/sec. Once we hit that wall we need to either user a bigger pipe like 10GbE or uses multiple pipes bonded. Similarly if we max out the CPU on Delphix the we need to add CPU.
Delphix performance analytics gives all of this. The layout looks like
An actual screen capture example looks like
The above example shows the top graph for CPU usage on Delphix.
The second section is network throughput. There are two lines because this system is using two separate NICs.
The third section is the I/O throughput and latency from the underlying storage Delphix is using.
There could be a 4th and/or 5th section would be NFS statistics for UNIX clients or iSCSI statistics for windows clients. These sections can be displayed or hiddened by clicking the check boxes in the top left of the screen.
The third section, the I/O section gives a heat map of I/O latencies. Using only an average value for I/O latency hides important information, so Delphix shows rich detailed data. The I/O can also be separated out into just reads or just writes or the aggregate of both reads and writes which is the default. To show only reads or writes, click on the legend items in the top right of that section.
The graphs have powerful customization options like the time window selectors below each graph. For the heat maps Delphix allows the user to zoom in on particular ranges of latency of interest.
Delphix 4.0 webinar
See minute 32:20 for a discussion of performance analytics