广义地说,有多少下游调用可以用于同步微服务交互,从网关API到一些支持服务?我们看到了响应时间的巨大波动-- 4-6次呼叫--有些是通过代理。这是意料之中吗?
显然,分布式计算的谬误应该在这里得到注意,但我很好奇,如果在同一个局域网上建立一个服务网络,什么才是合理的。
发布于 2018-12-04 08:24:55
理智的东西会有所不同。
确定您的站点/服务必须有多大的响应性。用一种可测量的方式把它记下来。
80% are within Xms, 95% are within Yms, ... 100% are within Zms
用当前的系统负载或一天中的时间来打破这种预期可能是有意义的。
您可能希望得到更具体的:
运行几个客户端(selenium,或自定义的web请求脚本),这些客户端可以使用某种分发模式来平页或一组页面。试着让它看起来像偷看负载,或一般的日子。测量客户端的响应时间。
如果是80% are within Xms, 95% are within Yms, ... 100% are within Zms
,那么你很好。否则,找出是什么在减缓这组请求。
还要注意服务的退化,和红色的衬里。如果服务质量下降过大,或者红线比其他特性占优势,那么缩短响应时间是没有帮助的。
现在您已经明确地知道了哪些类型的请求太慢、太差,或者需要更多的资源,并且在什么负载下,可以找到改进它的方法。
也许:
收集更多的数据,你是做得更好还是更糟?
一定要确保你的实验在生产中有效。
要做到这一点,您需要在生产中进行良好的监控。把你以前看到的和现在看到的比较一下。质量明显提高了吗?
只有当你成熟了这个系统,并且相信它会好起来。尝试设计一个负载模式,并观察这些指标是否符合您的期望。
利用针对测试系统设计的客户端脚本。显然,在使用哪些测试时要挑剔,这里不需要破坏您的系统。
也要事先提醒大家注意实验方法。别让你自己的队伍惊讶。如果他们对音阶或目标感到不舒服,就听他们说。缩小测试范围,使测试更严格,慢慢建立信心。
https://softwareengineering.stackexchange.com/questions/382422
复制相似问题