Давайте запустим простой Bottle сервер:
from bottle import route, run
@route('/')
def index():
return 'Hello'
if __name__ == "__main__":
run(port=80)
Я хотел проверить скорость запросов с помощью:
import requests
for i in range(10):
requests.get('http://localhost/?param=%i' % i)
, а затем я собирался использовать многопоточность / параллельно также проверить, что происходит, если 10 запросов поступают одновременно, а не один за другим ... но меня остановило нечто странное:
Анимированная консоль входящих запросов
Кажется, что каждый запрос занимает ровно 1 секунду!
Почему такой длинный запрос для каждого сервера Bottle? (я знаю, что это микро-фреймворк, но это, безусловно, не повод для ответа в течение 1 секунды!)
PS: то же самое с urllib.request.urlopen
. Этот код использует по умолчанию WSGIRefServer
:
Bottle v0.12.18 при запуске сервера (с использованием WSGIRefServer ()) ...
и был протестирован на Windows 7 + Python 3,7 64 бит.