Recognizing End-User Transactions in Performance Management

Joseph L. Hellerstein, T. S. Jayram, Irina Rish · 2000

Providing good quality of service (e.g., low response times) in distributed computer systems requires measuring end-user perceptions of performance. Unfortunately, such mea-sures are often expensive or impossible to obtain. Herein, we propose a machine-learning approach to recognizing end-user transactions consisting of sequences of remote proce-dure calls (RPCs) received at a server. Two problems are addressed. The first problem is labeling an RPC sequence that corresponds to one transaction instance with the cor-rect transaction type. This is akin to text classification. The second problem is transaction recognition, a more compre-hensive task that involves segmenting RPC sequences into transaction instances and labeling those instances with trans-action types. This problem is similar to segmenting sounds into words as in speech understanding. Using Naive Bayes approach, we tackle the labeling problem with four combi-nations of feature vectors and probability distributions: RPC occurrences with the Bernoulli distribution and RPC counts with the multinomial, geometric, and shifted geometric dis-tributions. Our approach to transaction recognition uses a dynamic-programming Viterbi algorithm that searches for a most likely segmentation of an RPC sequence into a se-quence of transactions, assuming transaction independence and using our classifiers to select a most likely transac-tion label for a given RPC sequence. For both problems, good accuracies are obtained, although the labeling problem achieves higher accuracies (up to 87%) than does transaction recognition (64%).

Read the paper · More papers on PaperTik