我们目前有一个有20个soa服务的系统,有一个主mysql数据库和2个从节点。目前数据库中有10gb的数据。我们有一个要求,表中的数据将显著增加。我们希望在继续执行之前对系统进行压力测试。什么样的压力测试对这种分布式环境有意义?
另外,在执行压力测试时,我可以查看延迟和度量,比如服务90%请求的延迟是多少。还有其他好的服务指标吗?我应该查找mysql数据库的哪些指标?
谢谢你

最佳答案

以下是一些想法:
设置一个测试数据库,并将额外的数据加载到期望增加的表中;使用期望增加的倍数,例如,如果期望表增加2000行,则将4000行添加到测试表中。
在mysql中启用slow query logging
确保soa服务器中的日志记录级别足够详细,可以调试压力测试中的错误。
使用负载测试工具(如JMeter)对每个服务快速连续地运行多个请求。使用预期每秒请求数的倍数;我通常使用2x、4x、8x等乘以预期请求数。
依次对每个IndivuDual服务重复上述测试。
使用“典型”的服务组合重复上述测试-例如,如果您期望服务1的请求数是服务2的两倍,则在测试中反映这一点。
如果还想测试可靠性,请尝试在一个或两个mysql从节点脱机的情况下重复jmeter测试。
jmeter应该提供您需要的所有延迟信息。我喜欢使用jmeter中另一个有用的“真实世界”数据点是90%的查询时间,它是大于或等于90%测试响应的响应时间值。

10-07 12:18