如何破解加密狗软件

在对于实时性要求并不高的业务来讲,这是一个非常值得推荐的方法,比如用户消费了一笔金额场景中,对于用户消费信息的记录以及消费带来的积分提升、会员等级提升都可以异步来实现。日常接触最多的异步应该是日志和打点系统,几乎没有见过非异步实现的方案。
异步写入带来的另外一个问题就是 “延迟”,一般开发会给出一些延迟的参数值,但是在性能测试过程中这个值可能会非常大,甚至超出用户的可接受范围。这个时候就需要测试 延迟在不用压力情况下的数值大小,以便给出最好的服务负载数据。
下面分享一个检测用户更改个人信息的接口的延迟测试方案:

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 = getBase()
    def info = new UserInfo(base)
    def total = []
    def diff = []
    100.times {
        def uname = RString.getString(5)
        def result = info.updateInfo(1, uname)
        int i;
        if (isRight(result)) {
            def mark0 = getNanoMark()
            while (true) {
                def mark00 = getNanoMark()
                def userinfo = info.getUserInfo()
                def mark01 = getNanoMark()
                diff << mark01 - mark00
                if (userinfo.getUserInfo().getString("uname") == uname) break;
                if (i++ > 5) break
            }
            def mark1 = getNanoMark()
            total << mark1 - mark0
        } else {
            fail()
        }

    }
    //求平均值的两种方法
    def var = diff.sum() / diff.size()
    def average = total.stream().mapToInt().average();

    output "单次修改信息延迟约${average - var / 2}"
}

}
复制代码

上面的参数可以根据实际大小来调整,一边压测一边另起进程测试写入接口的延迟情况。

发布了76 篇原创文章 · 获赞 0 · 访问量 6750

猜你喜欢

转载自blog.csdn.net/chunzhenwang/article/details/104407792
今日推荐