{'fraction_non_alphanumeric': 0.012632978723404254, 'fraction_numerical': 0.0, 'mean_word_length': 5.600877192982456, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Empirical Study on Underlying Correlations between Runtime Performance Deficiencies and “Bad Smells” of Microservice Systems

Although many principles have been put forward to guide microservice design, such as Domain-Driven Design, Architectural Bad Smells (ABS) would be inevitably imported during microservice system design and development. There has been a consensus that the existence of ABSs would bring negative effects to microservice systems. Although some approaches use static analysis to detect ABSs in the design phase, we conjecture that the design-phase ABSs would result in some performance deficiencies at runtime. This paper conducts an empirical study on underlying correlations between runtime performance deficiencies and ABSs in microservice system design. An automated experimental stress testing framework called MRSTF is developed for automatic deployment of MSS and collecting/analyzing runtime performance data. A microservice system TrainTicket is used in this empirical study. We manually inject several typical ABSs into the system and use MRSTF to compare the runtime performances before and after the injection and check if the existence of ABSs has significant effects on the runtime performance. Experiment results show that ABSs have significant negative effects on some performance metrics of runtime MSS while doing not on others. This study provides solid evidence on the feasibility of optimizing MSS design by eliminating ABSs based on runtime performance data.