加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

剖析美团内部所采用的网站压力测试方案

发布时间:2021-07-13 14:03:45 所属栏目:优化 来源:互联网
导读:这篇文章主要介绍了美团内部所采用的网站压力测试方案,包括其对开源压力测试工具的应用以及其相关流量拷贝等功能的使用,,需要的朋友可以参考下

一旦流量拷贝完成后,通过Web界面,用户能够查看日志的收集情况和单条日志的详情。

201632393521398.jpg (2782×1310)

压测逻辑实现
压测工具采用Groovy来进行编写。对每个应用来说,只需要实现runner接口就可以实现对应用的打压。

复制代码

代码如下:


interface Runner {
def init(Test app)
def run(Test app, String log)
def destroy(Test app)
}


以Thrift服务为例:

Java Code复制内容到剪贴板

class TestServiceRunner implements Runner {   

  

    RPCService.Client _client   

    TTransport _transport;   

  

    @Override  

    def init(Test app) {   

        def conf = app.config // 读取应用配置   

        _transport = new TFramedTransport(new TSocket(conf.get("thrift_service_host") as String, conf.get("thrift_service_port") as int))   

        TProtocol protocol = new TBinaryProtocol(_transport)   

        _client = new RPCService.Client(protocol)   

        _transport.open()   

    }   

  

    @Override  

    def run(Test app, String log) {   

        TestRequest req = Vcr.deSerialize(log, TestRequest.class) // 将拷贝流量反序列化   

        _client.echo(req) // 发送请求   

    }   

  

    @Override  

    def destroy(Test app) {   

        _transport.close() // 关闭服务   

    }   

}  

创建应用
实现以上接口后,就可以对应用进行打压了。

用户可以通过Web界面创建应用,除了必填配置以外,用户可以按照应用灵活配置。

201632393558352.jpg (2746×1034)

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读