12

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

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

Web で見つけた高速化手法 ( getfqdn 解決をスキップする) は役に立ちませんでした。

私の接続URIは次のとおりです。

'http://localhost:50080'

Windows 7 で Python 2.7 x64 を実行していますが、32 ビットの Python 2.7 でも同じように動作します。

4

1 に答える 1

28

問題は、 localhostを解決するクライアントにあるようです。

新しい (高速) 接続 URI:

'http://127.0.0.1:50080'

同様に、ホスト ファイル %SystemRoot%\System32\drivers\etc\hosts に次の行を追加すると、基本的に同じ効果があります。

127.0.0.1 ローカルホスト

これらの変更のいずれかにより、速度が 1 呼び出し/秒から 88 呼び出し/秒に向上しました。getfqdn 解決をスキップすると、速度がわずかに向上する可能性があります。極端に大容量というわけではありませんが、私の用途には許容範囲です。

訂正: 新しいパフォーマンスは 88 呼び出し/秒ではなく、~1000 呼び出し/秒です。

于 2013-01-24T15:06:37.313 に答える