Story #1232: Performance issues - testing and improvement
Record performance metrics for member nodes
We need to log performance metrics for member nodes for common operations such as get() and listObjects() so that we can obtain a quantitative estimate of how those services scale with alterations to various factors such as the number of documents stored on the node.
Performance will be affected by many factors, so we also need to note the date and time the evaluation was performed, which node was targeted, hardware characteristics (processors, RAM) and the total number of documents in the system.
These metrics should be recorded under svn /documents/Projects/cicore/operations/source/data/nodeperformance.csv in plain text documents formatted as:
Date, nodename, requestURL, CPUs, RAM, totalDocs, operation, duration
Date = timestamp in UTC, "%Y%m%dT%H%M%SZ"
nodename = name in registry or domain name if not registered
requestURL = full URL of request
CPUs = reported number of CPUs on system (0=unknown)
RAM = reported RAM in GB on system (0=unknown)
totaldocs = total number of documents accessible from the node
operation = one of "listobjects", "get", "node", "describe"
duration = time taken in seconds (floating point)
Each performance run should append a line to the log.