2013-01-24 29 views
10

Pythonドキュメントの例に従って、SimpleXMLRPCServerを使用してPythonでxml-rpcサーバーを構築しました。私は同じマシン上のPythonクライアントから呼び出しています。サーバー関数の本体は、それ自身で非常に高速に実行されます。Pythonのxmlrpcが非常に遅い:1回の呼び出しで1秒

しかし、xmlrpcクライアントのパフォーマンスは非常に遅く、1回の呼び出しで1秒かかることがわかりました。 (xmlrpclibの使用)

ウェブ上で見つけたスピードアップ技術(skipping the getfqdn resolution)は役に立ちませんでした。

は、URIを接続する私です:

'http://localhost:50080' 

私は、Windows 7上のPython 2.7のx64を実行しているんだけど、それは、32ビットのPython 2.7に対しても同じ働きをします。

答えて

17

クライアントが問題を解決したと思われるローカルホスト

新しい(高速)URI接続ます。%SystemRoot%\ System32 \ドライバをhostsファイルにこの行を追加して、同様

'http://127.0.0.1:50080' 

を\等\ホストは、本質的に同じ効果を有する:

127.0.0.1 localhost

これらの変更のいずれかによって、1コール/秒から88コール/秒にスピードが増加し、getfqdnの解像度をスキップするとスピードアップする可能性がありますhtlyもっと。非常に大容量ではありませんが、私のアプリケーションには許容できます。

訂正:新しいパフォーマンスは88コール/秒ではなく、〜1000コール/秒です。

+0

確認できます。この問題はPyMols xmlrpcサーバーを使用していましたが、非常に遅いです。ホストファイルに '127.0.0.1 localhost'という行がコメントされています。単純にコメントを外して問題を解決しました。すばらしいです! –

関連する問題