Да, обход на полпути (особенно в Австралию, как я понимаю) вызовет задержку. Простое использование Speedtest.net из Финляндии говорит о том, что латентность до Сиднея составляет 330 мс, до ближайшего тестового сервера - 5 мс.
Я повторил ваши шаги на машине Digital Ocean в Амстердаме:
~# cd $(mktemp -d)
/tmp/tmp.4ahzWvNRpX# python3.5 -m venv venv
/tmp/tmp.4ahzWvNRpX# source venv/bin/activate
(venv) /tmp/tmp.4ahzWvNRpX# pip install flask gunicorn
(venv) /tmp/tmp.4ahzWvNRpX# cat > app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
(venv) /tmp/tmp.4ahzWvNRpX# gunicorn -b 0.0.0.0:5000 app:app --reload
и на моем Mac с тем же тестовым кодом, что и у вас, я получаю вполне допустимые 60 мсек.
~/Desktop $ python3 x.py
Simple get request took 0.06290006637573242
~/Desktop $ python3 x.py
Simple get request took 0.06206989288330078
~/Desktop $ python3 x.py
Simple get request took 0.0690619945526123
~/Desktop $ python3 x.py
Simple get request took 0.06926107406616211
~/Desktop $
С сервером приложений uwsgi
(uwsgi --http :5000 --master --wsgi app:app
) результаты аналогичны (сам uwsgi
сообщает, что для получения ответа из кода требуется менее 1 мсек), но я предполагаю, что они будут лучше с больший масштаб параллелизма.
Мое лучшее предположение заключается в том, что в области ваших результатов может наблюдаться сложный эффект медленного VPS и , распространяющегося по всему миру.