首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用XML-RPC.NET的Windows 7中,运行速度较慢的XML-RPC

在使用XML-RPC.NET的Windows 7中,运行速度较慢的XML-RPC
EN

Stack Overflow用户
提问于 2010-02-10 17:23:19
回答 2查看 1.3K关注 0票数 1

我正在考虑使用XML-RPC.NET与用Python编写的Linux XML-RPC服务器进行通信。我尝试了一个来自库克计算公司的XML-RPC.NET的示例应用程序(MathApp),但该应用程序花了30秒在与服务器相同的局域网内添加两个号码。

我还尝试在Windows7上运行一个用Python编写的简单客户端来调用相同的服务器,它在5秒内做出了响应。这台机器有4 GB的RAM,具有相当的处理能力,所以这不是问题。

然后,我尝试使用Java和PHP从Windows XP系统调用服务器。这两种反应都很快,几乎是瞬间的。服务器在本地主机上响应也很快,所以我不认为延迟是由服务器引起的。

我的谷歌搜索返回了一些关于Windows使用IPv6的问题,但我们对服务器的调用确实在同一子网中包含了IPv4地址(而不是主机名)。无论如何,我关闭了IPv6,但什么也没有改变。

有没有其他方法可以检查延迟的可能原因?

EN

回答 2

Stack Overflow用户

发布于 2010-04-21 04:21:37

存在影响BaseHTTPServer及其子类(包括SimpleXMLRPCServer)的a bug。基本上,您的服务器可能会为它试图记录的每个IP地址调用socket.getfqdn函数。这个article可能更好地解释了这一点。

解决方法介绍了其中的TL;DR:

代码语言:javascript
复制
import BaseHTTPServer
def not_insane_address_string(self):
    host, port = self.client_address[:2]
    return '%s (no getfqdn)' % host #used to call: socket.getfqdn(host)
BaseHTTPServer.BaseHTTPRequestHandler.address_string = \
    not_insane_address_string
票数 2
EN

Stack Overflow用户

发布于 2010-02-10 17:35:24

在客户机上运行数据包捕获,检查网络流量计时与函数被调用的时间。

这可以帮助您确定延迟在您的缓慢进程中的位置,例如应用程序启动时间、名称解析等。

您如何从客户端寻址服务器?按IP?按FQDN?您使用的每个应用程序的编址方法是否相同?

如果您从同一个缓慢的应用程序多次调用同一个远程过程,所用的时间会线性增加吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2235643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档