Python xmlrpc чрезвычайно медленный: одна секунда за звонок
Я построил сервер xml-rpc на Python, используя SimpleXMLRPCServer, в соответствии с примером в документации Python. Я называю это от клиента Python на той же машине. Тело серверной функции выполняется очень быстро самостоятельно.
Но я нахожу, что производительность клиента xmlrpc чрезвычайно мучительно медленная, и занимает одну секунду за звонок. (Использование xmlrpclib.)
Техника ускорения, которую я нашел в Интернете (пропуская разрешение getfqdn), не помогло.
Мой идентификатор соединения:
'http://localhost:50080'
Я запускаю Python 2.7 x64 в Windows 7, но он работает одинаково для 32-разрядного Python 2.7.
Ответы
Ответ 1
Проблема заключалась в том, что клиент разрешал localhost.
Новый (быстрый) соединительный URI:
'http://127.0.0.1:50080'
Аналогично, добавление этой строки в файл хостов% SystemRoot%\System32\drivers\etc\hosts имеет, по сути, тот же эффект:
127.0.0.1 localhost
Любое из этих изменений увеличило скорость от 1 вызова/секунды до 88 вызовов в секунду, а пропущение разрешения getfqdn может ускорить его немного больше. Не очень высокая емкость, но приемлемая для моего приложения.
Коррекция: новая производительность не 88 вызовов/сек, а ~ 1000 вызовов/сек.