Измерение скорости клиент-серверной сети RPC - PullRequest
0 голосов
/ 22 сентября 2019

Приведенный ниже код представляет собой простую связь между сетью клиента и сервера, которая определяет, является ли сообщение четным или нечетным числом.Как измерить скорость между запросом и ответом?Я не уверен, точно ли мой код измеряет это.

import xmlrpclib 
import time  

start = time.time()
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")#manages communication with a remote XML-RPC server.
end = time.time()

#measures speed
elapsed = end - start
print "The elapse time is ", elapsed 

#the proxy variable connects to the server  and recives the result of whether the message is even or odd 
print "3 is even: %s" % str(proxy.is_even(3))
print "100 is even: %s" % str(proxy.is_even(100))


import xmlrpclib 
from SimpleXMLRPCServer import SimpleXMLRPCServer 

def is_even(n):  #determines if a number is even or odd
    return n % 2 == 0

server = SimpleXMLRPCServer(("localhost", 8000)) # Creates server
print "Listening on port 8000..."
server.register_function(is_even, "is_even") # respond to XML-RPC requests
server.serve_forever()  #Handle one request at a time until shutdown.

1 Ответ

0 голосов
/ 23 сентября 2019

Вы забыли измерить время фактического RPC.Поместите свое измерение вокруг вызова is_even или is_odd, а не конструкции ServerProxy.

Возможно, вы также захотите использовать другие часы.time.time - время системного таймера.Вместо этого часы POSIX_MONOTONIC защитят вас от таких вещей, как искажение часов ntp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...