`
tailorcai
  • 浏览: 93190 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

测试python rpc的性能

阅读更多
客户端:
import xmlrpclib,time
server = xmlrpclib.ServerProxy("http://localhost:8888")
for i in range(1,10):
    a = time.time()
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    month = server.getMonth( 2002, i )
    b = time.time()

    print b-a
print month

服务器:
import calendar, SimpleXMLRPCServer
#The server object
class Calendar:
    def getMonth(self, year, month):
        return calendar.month(year, month)

    def getYear(self, year):
        return calendar.calendar(year)
calendar_object = Calendar()
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888))
server.register_instance(calendar_object)
#Go into the main listener loop
print "Listening on port 8888"
server.serve_forever()

结果:
0.077999830246
0.0310001373291
0.0469999313354
0.0310001373291
0.0469999313354
0.0309998989105
0.047000169754
0.0469999313354
0.0309998989105

基本上,每次请求的时间是0.03-0.04s
分享到:
评论

相关推荐

    Go-使用grpcgo和python的双向流式RPC的快速演示

    gRPC是Google推出的一个高性能、开源和通用的RPC框架,它基于HTTP/2协议,支持多种语言,包括Go和Python。双向流式RPC是gRPC的一种高级特性,它允许服务端和客户端同时进行数据传输,形成双向的数据流。 本项目"Go-...

    Python-高效的RPC命令调用框架

    Python中的RPC(Remote Procedure Call)框架是用于分布式系统中不同进程间进行通信的重要工具,它使得开发者可以像调用本地函数一样调用远程服务。在本主题中,我们将重点讨论基于zerorpc和gevent的高效RPC命令调用...

    Python-zeroRPCzerorpc是一个灵活的RPC实现基于ZeroMQ和MessagePack

    "Python-zeroRPC-zerorpc是一个灵活的RPC实现基于ZeroMQ和MessagePack" 这个标题揭示了我们关注的核心技术是zerorpc,它是一个Python实现的远程过程调用(RPC)框架,它利用了ZeroMQ作为底层通信库,以及MessagePack...

    python-ajsonrpc:异步JSON-RPC 2.0协议+服务器

    Python-ajsonrpc库则是针对Python实现的一个异步版本的JSON-RPC 2.0服务器,它允许开发者构建高性能、非阻塞的服务。 在Python中,异步编程主要通过asyncio库来实现,这个库提供了事件循环、协程等概念,使得编写高...

    基于Python实现的一个简单的分布式高并发RPC框架+源代码+文档说明

    > + 一个高性能的RPC框架是不可能使用Python来完成的,Python的速度太感人了 > + 以学习基本原理为目的时,不必在乎过多细节,Python封装好的类库屏蔽掉很多细节 > + 实现同样的功能,Python的代码量相较于C/C++要...

    Python的Locst压测gRPC协议的脚本

    而Python的Locust则是一个轻量级的负载测试工具,适用于对网站进行分布式用户模拟的性能测试。本文将详细探讨如何使用Locust进行gRPC协议的性能测试。 首先,理解gRPC的基本概念非常重要。gRPC支持多种编程语言,...

    protobuf-python-3.17.3

    在protobuf-python-3.17.3的发布中,你可能还会看到官方文档、示例代码、测试用例以及可能的性能改进和bug修复。了解这些内容有助于更好地利用protobuf在Python项目中进行数据交换和序列化。在实际使用中,确保阅读...

    PyPI 官网下载 | aio-odoorpc-base-1.0.6.tar.gz

    aio-odoorpc-base是一个基于Python异步IO(asyncio)框架的Odoo RPC(Remote Procedure Call)客户端库。Odoo是一款开源的企业级应用程序套件,包含了CRM、ERP、电子商务、项目管理等多种功能。RPC则是一种在分布式...

    基于RPC的简单应用

    源码可能使用Java、Python、Go等语言编写,并且可能涉及到服务注册与发现、协议定义(如protobuf、JSON-RPC)等关键组件。 RPC的实现原理主要包括以下几个步骤: 1. **服务定义**:首先,定义服务接口和方法,这...

    GRPC简单应用(Java+Python)

    GRPC是一种高性能、开源的通用RPC框架,基于Google的Protocol Buffers(protobuf)协议和HTTP/2设计。它允许服务间进行高效的双向通信,支持多种编程语言,包括Java和Python。在本文中,我们将深入探讨如何在Java和...

    python_grpc demo

    gRPC 是一个高性能、开源且通用的 RPC(远程过程调用)框架,它基于 Google 的 Protocol Buffers(protobuf)进行序列化和接口定义。在 Python 中使用 gRPC 可以帮助开发者构建分布式微服务架构,实现跨语言通信。这...

    zabbix 端口自动发现 python2 python3

    同时,脚本需要按照Zabbix的JSON-RPC格式返回数据,以便Zabbix能正确解析并应用发现结果。 ```python import socket import json def discover(host, port_range): open_ports = [] for port in range(port_...

    Python-Crossbar分布式的网络平台和microservice应用程序

    Crossbar.io提供了一套全面的开发工具,包括调试器、日志记录、性能分析等,帮助开发者有效地测试和优化他们的应用。 综上所述,Python-Crossbar为Python开发者提供了一个强大、灵活的框架,用于构建分布式的网络...

    gRPC并发性能测试代码

    gRPC 是一个高性能、开源和通用的 RPC 框架,它基于 Protocol Buffers(protobuf)定义服务,并可运行在多种平台上。这个压缩包文件包含了进行gRPC并发性能测试的相关资源,让我们逐一解析这些文件来深入理解gRPC的...

    TARS-PHP:PHP构建高性能RPC框架

    ### TARS-PHP:PHP构建高性能RPC框架 #### 一、引言 随着微服务架构在互联网领域的广泛应用,RPC(Remote Procedure Call,远程过程调用)框架成为了连接各个微服务的重要桥梁。TARS-PHP正是在这样的背景下应运而生...

    Python调用序列化数据工具Protocol Buffers——protobuf

    总结,Protocol Buffers是Python及其他编程语言中实现高效数据序列化的重要工具,尤其在跨语言通信和高性能应用中,protobuf的优势更为突出。通过学习和掌握protobuf,开发者可以提高数据处理效率,简化系统间的数据...

    基于Python实现的微服务Demo级别项目(grpc+flask).zip

    gRPC是一个高性能、开源和通用的RPC框架,它基于Google的Protocol Buffers(protobuf)进行序列化和接口定义。Flask则是一个轻量级的Python Web框架,适合构建小型到中型的Web应用。 一、gRPC简介 gRPC是一个跨平台...

Global site tag (gtag.js) - Google Analytics