Performance 评估软件体系结构的性能?

Performance 评估软件体系结构的性能?,performance,architecture,modeling,evaluation,Performance,Architecture,Modeling,Evaluation,我正在寻找帮助我评估软件体系结构性能的工具。对于这个特定的项目,我需要为一个规模适中的[分布式]系统建模,该系统可以与面向消息的中间件(MOM)相媲美。基于一个模型,我想测量系统在特定情况下的性能。此外,这些工具应该帮助我做出决策,确定架构的更改将如何影响系统的性能 下面是一个我想回答的示例问题(与母亲类比): 如果持久性层从SQL后端更改为具有最终一致性的新NoSQL后端,整个系统的吞吐量(以消息/秒为单位)将如何变化?在[simplified]模型中,需要使某些内容持久化(即写入数据库)的组

我正在寻找帮助我评估软件体系结构性能的工具。对于这个特定的项目,我需要为一个规模适中的[分布式]系统建模,该系统可以与面向消息的中间件(MOM)相媲美。基于一个模型,我想测量系统在特定情况下的性能。此外,这些工具应该帮助我做出决策,确定架构的更改将如何影响系统的性能

下面是一个我想回答的示例问题(与母亲类比):
如果持久性层从SQL后端更改为具有最终一致性的新NoSQL后端,整个系统的吞吐量(以消息/秒为单位)将如何变化?在[simplified]模型中,需要使某些内容持久化(即写入数据库)的组件有一个延迟X ms的操作,直到持久化提供程序确认为止。如果更改了持久性后端并且确认是即时的,则所述延迟将下降到Y ms。减少此延迟将如何影响系统的吞吐量


请注意,我主要感兴趣的是现成的软件产品或建模技术,而不是研究材料,但请随意提及值得注意的学术资源。

虽然主要用于网络研究,但可用于建模和模拟您的应用程序。这可能取决于应用程序以网络为中心的程度。ns-3有一个
应用程序
类作为其对象模型的一部分,用于对TCP/UDP之上的所有内容进行建模。您可以编写一个非常简化的应用程序逻辑版本,该版本只在网络上发送胡言乱语,并在特定操作中到处引入延迟。ns-3提供了良好的可追溯性。

虽然主要用于网络研究,但可用于建模和模拟应用程序。这可能取决于应用程序以网络为中心的程度。ns-3有一个
应用程序
类作为其对象模型的一部分,用于对TCP/UDP之上的所有内容进行建模。您可以编写一个非常简化的应用程序逻辑版本,该版本只在网络上发送胡言乱语,并在特定操作中到处引入延迟。ns-3提供了良好的可追溯性。

类似的模拟器框架对于建模和模拟系统的行为很有价值。相比之下,您没有现成的部件可用,但您不受限于以网络为中心的模拟


使用这种方法,您可以自由地进行建模,但是如果不从一个好的对象模型开始,更改模型中的零件可能会非常耗时:最好使用“通道”之类的通用概念在组件之间进行通信,而不是直接/显式地连接组件。OO概念和最佳实践适用。

类似的模拟器框架对于建模和模拟系统行为很有价值。相比之下,您没有现成的部件可用,但您不受限于以网络为中心的模拟


使用这种方法,您可以自由地进行建模,但是如果不从一个好的对象模型开始,更改模型中的零件可能会非常耗时:最好使用“通道”之类的通用概念在组件之间进行通信,而不是直接/显式地连接组件。OO概念和最佳实践适用。

评估了几种方法及其适用性,以评估体系结构的性能。其结论是,当前ADL不支持在性能预测方面评估非功能属性。本文还介绍了一个名为SAPE(软件体系结构性能评估)的软件,正如其名称所示,该软件旨在帮助评估软件体系结构的性能方面。但是,该软件似乎在任何地方都无法在线使用。

评估了几种软件及其适用性,以评估体系结构的性能。其结论是,当前ADL不支持在性能预测方面评估非功能属性。本文还介绍了一个名为SAPE(软件体系结构性能评估)的软件,正如其名称所示,该软件旨在帮助评估软件体系结构的性能方面。但是,该软件似乎在网上的任何地方都不可用。

概述了从[正式]软件体系结构规范导出性能模型的几种方法。大多数方法中使用的规范语言是UML,性能模型[引用:]包括排队网络(QN)及其扩展,称为扩展排队网络(EQN)和分层排队网络(LQN)、随机时间Petri网(STPN)、随机过程代数(SPA)和仿真模型。

概述了从[正式]软件体系结构规范导出性能模型的几种方法。大多数方法中使用的规范语言是UML,性能模型[引用:]包括排队网络(QN)及其扩展,称为扩展排队网络(EQN)和分层排队网络(LQN)、随机时间Petri网(STPN)、随机过程代数(SPA)和仿真模型。

您给出的示例更多的是设计和实现上的变化,而不是架构上的变化。当然,NoSQL实现可能会更快,并且总体上会增加thoughput,但您要衡量的是实现性能

我认为架构的性能更多地取决于所涉及的组件数量和它们的排列方式,这取决于您在哪里绘制