`
badqiu
  • 浏览: 674445 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

thrift性能测试数据

 
阅读更多

 

环境:

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

 

 

1
3
分享到:
评论
1 楼 dacoolbaby 2013-06-04  
楼主能解释一下吗??

相关推荐

    ice-dubbo-thrift-grpc性能测试对比

    《ice-dubbo-thrift-grpc性能测试对比》 在IT领域,选择合适的RPC(远程过程调用)框架对于系统的性能和可扩展性至关重要。本文主要分析了四种常见的RPC框架——ice、dubbo、thrift和grpc的性能表现,通过一组简化...

    protobuf/thrift/avro-序列化性能测试工程

    这个名为"protobuf/thrift/avro-序列化性能测试工程"的项目专注于对比这三种技术的性能。 protobuf是Google开发的一种高效的数据序列化协议,它提供了简洁、快速和跨平台的序列化方法。protobuf通过定义.proto文件...

    thrift测试程序

    服务端测试可能涉及并发处理能力、异常处理、性能测试等方面;客户端测试则关注调用的准确性、网络延迟、错误处理等。此外,测试过程中还会关注Thrift的序列化和反序列化效率,以及跨语言通信的兼容性。 总之,...

    使用wireshark抓取thrift协议接口调用

    - 调试:在开发和测试环境中,使用Wireshark抓取Thrift流量可以帮助定位接口调用的问题,如序列化错误、网络通信问题等。 - 监控:在生产环境中,定期抓取Thrift流量可监控服务的健康状况,及时发现潜在的性能瓶颈...

    linux下安装和测试thrift

    在Linux环境下安装和测试Thrift是一项技术性较强的工作,Thrift是一种开源的跨语言服务开发框架,它允许程序员定义服务接口和服务数据类型,然后自动生成客户端和服务器端的代码,以便于不同编程语言之间进行高效、...

    php_thrift_python安装测试记录

    在IT行业中,Thrift是一种高性能、可扩展的跨语言服务开发框架,由Facebook开源。它允许定义数据类型和服务接口,然后自动生成各种编程语言的代码,使得不同语言之间可以进行高效的数据交换和通信。本篇文章将围绕...

    Thrift-java学习小结

    Thrift是Facebook开源的一款高性能、跨语言的服务框架,它的设计目标是高效地在不同编程语言之间进行通信。本文将基于Thrift的Java实现,总结学习过程中的一些关键知识点,旨在帮助理解Thrift的工作原理以及如何在...

    zk+thrift demo

    而 Thrift 是一个跨语言的服务框架,它提供了编译器和运行时库,可以方便地创建高性能、可扩展的服务。 【描述】"供大家使用" 表明这个 demo 是为了提供给开发者们参考和学习,帮助他们理解如何在自己的项目中运用 ...

    thrift阻塞与非阻塞模式下的测试

    通过对Thrift阻塞和非阻塞模式的测试,我们可以得出适合特定业务场景的最佳实践,优化服务性能,提高系统的整体效率。在实际应用中,可能需要结合具体情况,选择单线程阻塞、多线程阻塞、异步IO、NIO或AIO等模式的...

    根据 .thrift 获取数据结构,生成 mock 数据.zip

    Mock数据通常用于测试目的,它模拟了实际数据的行为,但不依赖于真实环境或数据库,使得开发者可以在没有真实数据的情况下进行功能验证和性能测试。 首先,让我们深入理解`.thrift`文件。这是一种接口定义语言(IDL...

    thrift_sasl-0.3.0.tar.gz

    8. **测试与调试**:在生产环境中使用Thrift SASL时,进行充分的测试和调试是必要的,以确保所有身份验证和加密功能按预期工作。 总之,Thrift SASL 0.3.0 提供了一种强大且灵活的方式来增强Thrift服务的安全性,...

    VS2017_Hbase thrift C++接口测试

    **VS2017_Hbase thrift C++接口测试** 在这个项目中,我们主要探讨如何在Visual Studio 2017(VS2017)环境下,利用C++语言通过Thrift库来与HBase数据库进行交互。Thrift是一种跨语言的服务开发框架,它允许我们...

    Windows下QT使用Thrift的样例

    Thrift-0.10.0是这个样例中使用的版本,它支持C++、Java、Python等多种语言,并且具有良好的性能和稳定性。 Boost是一个流行的C++库集合,提供了许多用于提高C++效率和功能的工具。在这个样例中,Boost可能被用来...

    thrift的使用介绍

    Thrift通过定义一种中间表示(IDL,Interface Definition Language)来描述服务接口,然后自动生成相应的客户端和服务器端代码,使得开发者可以轻松地在多种语言之间进行数据交换和服务调用。 **1. Thrift IDL** ...

    一个Thrift的学习测试项目,服务器端实现从PLC进行采集数据,推送到Thrift,以接口的形式对外公开数据.zip

    Thrift是一种高性能、跨语言的服务框架,由Facebook开发并开源,其主要目的是解决大规模分布式系统中的数据通信问题。本项目“一个Thrift的学习测试项目”是针对Thrift技术的一个实践应用,通过它我们可以深入理解...

    Thrift 示例代码_Java

    Thrift 的优势在于它的性能和可移植性。由于生成的代码是原生的,因此通信效率高;而跨语言特性则使得不同系统间的服务调用变得简单。此外,Thrift 支持多种传输方式(如 HTTP、TCP)和序列化协议(如 Binary、JSON...

    thrift运行成功的例子

    Thrift 提供的工具可以帮助开发者调试接口调用,检查序列化数据,以及跟踪性能瓶颈。 总的来说,这个例子展示了如何使用 Thrift 构建一个简单的跨语言服务,其中 Python 作为服务提供者,PHP 作为服务消费者。这个...

    thrift 0.9.2

    Thrift 0.9.2 是 Facebook 开源的一款高效、跨语言...- 测试用例:用于验证 Thrift 的功能和性能。 通过这个压缩包,你可以开始学习和使用 Thrift 来构建自己的跨语言服务,体验其强大的序列化能力和高效的通信性能。

    thrift-0.9.2.exe

    Thrift 是一个开源的跨语言服务开发框架,由Facebook于2007年设计并开源,后来成为Apache软件...在实际项目中,我们可以结合这个压缩包来学习如何设置Thrift服务,编写客户端和服务器端代码,以及如何进行通信测试。

    Thrift框架使用分享

    Apache Thrift是由Facebook开发并开源的远程服务调用框架,它能够实现...总之,Thrift作为一款性能优良、支持多语言的RPC框架,能够有效地解决分布式系统中服务调用的问题,适合构建复杂、高并发、大数据量的后端服务。

Global site tag (gtag.js) - Google Analytics