Morning all, me again with the questions! Sorry.
Progress 11.5 on Win Server 2012 R2 (when we eventually go live!)
I know we can monitor processor/memory/disk performance on the server, I know we can also monitor all sorts of things using promon/vst/protop etc. One thing we have a prospective client asking is how we monitor if the actual performance of queries drops. They are very keen for us to to be proactive in noticing that the user experience is dropping (for whatever reason). I know it's a very arbitrary thing, but is there anything we can use to that end, or do you have any ideas/comments on this?
Obviously I could have a query that runs at intervals for which I know how long it should take to complete, and therefore could have an alert if it takes too long, but that's not really a reliable metric is it?
This would require logging in the application itself. All of the metrics that you already know about can be used to infer most performance issues but not down to a single query/program level. I have done this sort of thing quite a few times in the past but unless you already have a decent framework in place it will take some time and testing.
You could try using client logging and increase the verbose level on the appservers... and then mine/compare the logs but I would not recommend it.
I suspect there are a few key screens/functions that they would really care about and you could use as a starting point for metrics. And then still trend all of the VST information to look for issues in general.
One thing you might may or may not want to mention to them is that the query execution plans are fixed and will not change over time. People using other databases have been burnt by DBAs that don't gather statistics properly.. that causes query plans to change drastically over time. Often for the worse.
That's a very good point. The prospect probably has no understanding of Progress and how it works under the bonnet. That said, my understanding is also very limited!