dubbo 和redis 同步异步对网站的影响

71 阅读2分钟

请求流程:

jemeter---》spring cloud gateway -》 spring-boot应用 同步请求redis dubbo --》 返回 jemeter---》spring cloud gateway -》 spring-boot应用 异步请求redis dubbo --》 返回

同步代码

image.png

异步代码

image.png image.png

image.png

1000 线程 表现:

image.png

image.png

image.png

说明: 异步的 请求相同的请求 情况 响应时间更小

从图表中可以看出两个接口的性能对比,具体信息如下:

  • 接口类型:有两个接口类型分别为 asyncsync,整体数据也被列出。
  • 样本数
    • async:6000
    • sync:5142
  • 平均值(ms)
    • async:64 ms
    • sync:91 ms
  • 中位数(ms)
    • async:34 ms
    • sync:48 ms
  • 90% 百分位(ms)
    • async:148 ms
    • sync:195 ms
  • 95% 百分位(ms)
    • async:174 ms
    • sync:233 ms
  • 99% 百分位(ms)
    • async:242 ms
    • sync:329 ms
  • 最小值(ms)
    • async:14 ms
    • sync:22 ms
  • 最大值(ms)
    • async:1142 ms
    • sync:735 ms
  • 异常百分比:均为 0.00%
  • 吞吐量
    • async:8.9/sec
    • sync:7.0/sec
  • 接收速率(KB/sec)
    • async:3.96 KB/sec
    • sync:3.54 KB/sec
  • 发送速率(KB/sec)
    • async:1.58 KB/sec
    • sync:1.25 KB/sec

分析与结论

  • 平均响应时间async 接口(64 ms)比 sync 接口(91 ms)更快。
  • 中位数响应时间async 接口(34 ms)比 sync 接口(48 ms)更快。
  • 高百分位响应时间async 接口在 90%、95% 和 99% 百分位的响应时间均比 sync 接口更短。
  • 吞吐量async 接口(8.9/sec)比 sync 接口(7.0/sec)更高。
  • 数据传输速率async 接口的接收和发送速率均比 sync 接口更高。

结论

总体来看,async 接口在大多数指标上(平均响应时间、中位数、高百分位响应时间、吞吐量)均优于 sync 接口,说明 async 接口的性能更好。唯一需要注意的是 async 接口的最大响应时间(1142 ms)比 sync 接口(735 ms)高,这可能需要进一步调查和优化。