私はそうのように定義されたシンプルなフラスコサーバーを持っている:python-requestがlocalhostに遅いのはなぜですか?
import sys
import flask
from flask import request
app = flask.Flask(__name__)
port = 4057
@app.route('/search', methods=['POST'])
def search():
request.json['query']
results = ['fake', 'data']
return flask.jsonify(results)
if __name__ == '__main__':
app.config['TEMPLATES_AUTO_RELOAD'] = True
app.run(host='0.0.0.0', port=port, debug=(port != 80))
私はこのように定義されたシンプルなクライアントがあります。
import json
import requests
headers = {'content-type': 'application/json'}
resp = requests.post('http://localhost:4057/search', json.dumps({'query': 'foo'}), headers=headers)
print resp.content
をクライアントが動作しますが、それは要求を完了するために3秒のようになります。
カールが半秒のようで完了します。
curl 'http://localhost:4057/search' -H 'Content-Type: application/json' -d '{"query": "foo"}'
'app.run()'のフラスコサーバを 'threaded = True'に変更すると、時間がかかりますか? –
どのように時間がかかるのですか、Pythonの実装は何ですか?ほとんどの場合、 'import requests'とPythonの起動に費やされていると思います。 –
@FranciscoCouzo良い推測ですが、 'import requests'と' print "foo" 'it <<5秒です。 –