Font Size: a A A

Research And Implementation Of Performance Optimization Technology Of Microservice-based Applications In Clouds

Posted on:2019-01-14Degree:MasterType:Thesis
Country:ChinaCandidate:N N RenFull Text:PDF
GTID:2428330572455594Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the rapid development of the Internet,cloud computing,virtualization and software technologies,the software architecture has evolved from a stand-alone architecture to a service-oriented architecture.However,problems including centralization,difficult to maintain,and high cost make it difficult to adapt to a rapidly changing market environment.With features such as decentralization,high degree of autonomy and automation,the emerging microservice software architecture has completely changed the design and construction of application programs.More and more applications take it into account during the design and development process.Microservice applications running in the cloud environment usually involve the execution and interoperability of multiple microservices,each of which can be independently developed,deployed,and updated.This feature allows the application to be significantly improved in terms of scalability,renewability,and availability,but at the same time it also causes expensive performance overhead and complexity of dynamic resource management.Therefore,performance modeling and task scheduling of microservice systems have become the most critical issue.To solve the above problems,this paper first proposes a method to model and predict the performance of a single microservice.Then a three-tier performance model was designed for the entire microservice system.Based on the performance model,the formal definition of the application scheduling problem of the microservices in the public cloud is given.The goal is to minimize end-to-end delays under budget constraints given by users.Finally,a heuristic microservice scheduling algorithm is proposed.The specific research includes the following aspects:(1)Modeling the performance of a single microservice based on the general process of concurrent requests in the container.Taking the processing time as the measurement benchmark,modeling from the three aspects including request cache performance,business processing performance and transaction processing performance,a complete model is obtained to facilitate the prediction and performance modeling of the entire microservice system.(2)Predict the processing time of microservices based on the performance model of a single microservice.Based on the performance model of a single microservice,the features affecting the performance of microservices are distinguished.After collecting these eigenvalues through the system or third-party tools,the execution time of a single microservice can be predicted by using regression techniques.(3)Building Performance model for the entire microservice system.The three-component method which is used to define classical scheduling problem is constructed separately from three levels: application model,system model,and performance model.Finally,a three-layer performance model is given,and the formal definition of the research problem in the paper is formulated based on this model.(4)Design and implement a heuristic greedy recursive critical path algorithm(GRCP).First,without considering the budget constraints,the RCP method and the priority-based greedy algorithm are used to optimize the execution time,and a scheduling solution is obtained.If the execution cost exceeds the budget constraint,the distribution scheme is adjusted by considering the proportion of the time increment and the cost reduction to achieve the final optimization goal.The experimental part of this paper uses the open source Acme Air system to verify the microservice performance model,and compares GRCP with Greedy A* algorithm and BHEFT algorithm respectively to evaluate the performance of the proposed algorithm.Experimental results show that the proposed algorithm has better performance under different problem size and budget constraints.
Keywords/Search Tags:Microservice, Performance modeling and prediction, Task scheduling, Cloud computing
PDF Full Text Request
Related items