环境:
8核 12GB内存
服务端代码:
MessageBrokerService.Iface iface = SpringContext.getBean(MessageBrokerService.Iface.class); TServerTransport serverTransport = new TServerSocket(port); MessageBrokerService.Processor processor = new Processor(iface); Factory portFactory = new TBinaryProtocol.Factory(true, true); Args args = new Args(serverTransport); args.maxWorkerThreads(2000); args.minWorkerThreads(8); args.processor(processor); args.protocolFactory(portFactory); TServer server = new TThreadPoolServer(args); // 有多种server可选择 server.setServerEventHandler(new TServerEventHandlerImpl()); logger.info("start MessageBrokerService thrift server on port:"+port); server.serve();
测试方法:
String ping() ,返回 "PONG"字符串
性能数据描述:
concurrency:线程数
cost:耗时(毫秒)
count:执行次数
all_tps: 每秒总的TPS
per_thread_tps= all_tps / concurrency
性能测试结果:
runPingPerf,concurrency:8 cost:6821 count:200000 all_tps:29321 per_thread_tps:3665 runPingPerf,concurrency:16 cost:3586 count:200000 all_tps:55772 per_thread_tps:3485 runPingPerf,concurrency:50 cost:9318 count:200000 all_tps:21463 per_thread_tps:429 runPingPerf,concurrency:200 cost:9021 count:200000 all_tps:22170 per_thread_tps:110 runPingPerf,concurrency:8 cost:66163 count:2000000 all_tps:30228 per_thread_tps:3778 runPingPerf,concurrency:16 cost:34379 count:2000000 all_tps:58175 per_thread_tps:3635 runPingPerf,concurrency:50 cost:63974 count:2000000 all_tps:31262 per_thread_tps:625 runPingPerf,concurrency:200 cost:107447 count:2000000 all_tps:18613 per_thread_tps:93
系统负载
----total-cpu-usage---- -dsk/total- ---load-avg--- ------memory-usage----- -net/total- ---procs--- ----swap--- ---system-- usr sys idl wai hiq siq| read writ| 1m 5m 15m | used buff cach free| recv send|run blk new| used free| int csw 10 6 75 0 0 9| 0 0 | 2.7 1.9 1.7|5726M 772M 8706M 859M| 10M 11M| 4 0 0|1124M 11G| 11k 101k 9 7 76 0 0 7| 0 108k| 2.5 1.8 1.7|5720M 772M 8706M 865M| 10M 11M| 5 0 0|1124M 11G| 11k 101k
相关推荐
Thrift 是一种接口描述语言和二进制通信协议。以前也没接触过,最近有个...Thrift 优势在于发送同样的数据,request包 和 response包 要比 http 小很多,在整体性能上要优于 http 。 前言 学习了两天thrift 一直想实现
其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。 在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层...
Dapeng-soa 是一个轻量级、高性能的微服务框架,构建在Netty以及定制的精简版Thrift之上。 同时,从Thrift IDL文件自动生成的服务元数据信息是本框架的一个重要特性,很多其它重要特性都依赖于服务元数据信息。 最后...
1.2:sparkSQL的性能 5 1.2.1:内存列存储(In-Memory Columnar Storage) 6 1.2.2:字节码生成技术(bytecode generation,即CG) 6 1.2.3:scala代码优化 7 二:sparkSQL运行架构 8 2.1:Tree和Rule 9 2.1.1:Tree...
3.3.1 比较SequenceFiles、Protocol Buffers、Thrift 和 Avro 3.3.2 Sequence File 技术点14 处理SequenceFile 3.3.3 Protocol Buffers 技术点15 整合Protocol Buffers 和MapReduce . 3.3.4 Thrift ...
6.1.1 提取作业统计信息的工具6.1.2 监控6.2 确定性能问题的原因6.2.1 了解哪些因素会影响MapReduce 作业的性能 6.2.2 map 端异常技术点28 发现输入数据中的坑技术点29 确定map 端数据倾斜问题 技术...
本地运行测试数据 在本地作业运行器上运行作业 测试驱动程序 在集群上运行 打包 启动作业 MapReduce的Web界面 获取结果 作业调试 使用远程调试器 作业调优 分析任务 MapReduce的工作流 将问题分解成MapReduce作业 ...
本地运行测试数据 在本地作业运行器上运行作业 测试驱动程序 在集群上运行 打包 启动作业 MapReduce的Web界面 获取结果 作业调试 使用远程调试器 作业调优 分析任务 MapReduce的工作流 ...
14.2 性能测试 237 14.2.1 50/50的读和更新 237 14.2.2 95/5的读和更新 237 14.2.3 扫描 238 14.2.4 可扩展性测试 238 14.2.5 Hypertable测试 238 14.3 背景比较 239 14.4 小结 240 第15章 共存 241 15.1 ...
所以如果能提升大数据量下的查询性能,对用户会很有帮助。 优化 TiDB 的易用性和可维护性。TiDB 整套系统的复杂性比较高,运维及使用的难度要大于单机数据库,所以希望能提供尽可能方便的方案帮助用户使用 TiDB。...
Storm 提供分布式、⾼性能、⾼可靠、容错的实时计算平台,可以对海量数据进⾏实时处理。CQL(Continuous Query Language)提供 的类SQL流处理语⾔,可以快速进⾏业务开发,缩短业务上线时间。 Spark 基于内存进⾏...
单元测试 Spark 1.0 版本前的应用程序迁移 下一步 Spark Streaming Spark Streaming 概述 一个简单的示例 基本概念 依赖 初始化 StreamingContext Discretized Streams(DStreams)(离散化流) Input ...
Golang序列化基准 序列化器 ...测试数据模型 所有测试都使用如下相同的数据模型: type ColorGroup struct { ID int `json:"id" xml:"id,attr""` Name string `json:"name" xml:"name"` Colors
10.3. Thrift 11. 性能调优 11.1. 操作系统 11.2. 网络 11.3. Java 11.4. HBase 配置 11.5. ZooKeeper 11.6. Schema 设计 11.7. 写到 HBase 11.8. 从 HBase读取 11.9. 从 HBase删除 11.10. HDFS 11.11. Amazon EC2 ...
本接口应用Thrift框架编写,通过该框架进行系统之间的交互具有高性能、低延迟、支持同步和异步通信等优点。最后,为推送效果提供测试方案,商品推送系统的参数调优通过NDCG算法,NDCG表示归一化折损累积增益,该算法是...