中文

微服务粒度对能源消耗与性能的影响:一项受控实验

软件工程 2025-11-27 v2

摘要

背景:微服务架构是一种广泛使用的软件部署方法,具有灵活性和可扩展性等优势。然而,其对能源消耗的影响鲜有了解,往往被忽视在性能和其他质量属性(QAs)之外。一个在此领域中未受充分研究的概念是微服务粒度,即系统功能分布在多少个服务上。目标:因此,我们旨在分析微服务粒度与基于微服务系统的两种关键QAs(能源消耗和性能)之间的关系。方法:我们使用两个规模不同的开源微服务系统进行受控实验:小型Pet Clinic系统和大型Train Ticket系统。对于每个系统,我们通过合并或拆分服务创建三种粒度级别(粗、中、细),然后将其暴露于五个请求频率水平。结果:我们的发现表明:i) 粒度显著影响能源消耗和响应时间,例如在大型系统中,细粒度的能源消耗比粗粒度多461焦耳(增加13%),响应时间增加5.2毫秒(增加14%);ii) 更高的请求负载显著增加能源消耗和响应时间,将请求频率从40升至400每秒导致能源消耗增加651焦耳(增加23%),响应时间延长41.2毫秒(增加98%);iii) 粒度、系统规模、能源消耗和性能之间存在复杂关系,这一发现要求在微服务设计中进行周密考虑。我们从结果中提炼出可推广的要点。结论:微服务实践者应在做出粒度相关决策时考虑我们的发现,尤其是对于大型系统。

关键词

引用

@article{arxiv.2502.00482,
  title  = {How Does Microservice Granularity Impact Energy Consumption and Performance? A Controlled Experiment},
  author = {Yiming Zhao and Tiziano De Matteis and Justus Bogner},
  journal= {arXiv preprint arXiv:2502.00482},
  year   = {2025}
}

备注

Accepted for publication at the International Conference on Software Architecture 2025 (ICSA'25, see https://conf.researchr.org/home/icsa-2025)