压测中测量异步写入接口的延迟
在服务端性能优化的时候,有一种方案叫 “异步写入” 。就是把本来要写入数据库的功能放到异步来做,跟 异步查询转同步 的区别在于,异步查询是要等结果的,而异步写入则可以不等返回结果,甚至直接把写入任务丢到一个专门的任务队列中。 在对于实时性要求并不高的业务来讲,这是一个非常值得推荐的方法,比如用户消费了一笔金额场景中,对于用户消费信息的记录以及消费带来的积分提升、会员等级提升都可以异步来实现。日常接触最多的异步应该是日志和打点系统,几乎没有见过非异步实现的方案。 异步写入 带来的另外一个问题就是 “延迟” ,一般开发会给出一些延迟的参数值,但是在性能测试过程中这个值可能会非常大,甚至超出用户的可接受范围。这个时候就需要测试 延迟 在不用压力情况下的数值大小,以便给出最好的服务负载数据。 下面分享一个检测用户更改个人信息的接口的延迟测试方案: package com.okayqa.teacherpad import com.fun.utils.RString import com.okayqa.teacherpad.base.OkayBase import com.okayqa.teacherpad.function.UserInfo class T extends OkayBase { public static void main(String[] args) { def base