Когда я отправляю запрос на выборку через общедоступный Интернет, требуется 2616 (мс), чтобы вернуть набор результатов размером 42 килобайта.
Имейте в виду, что запрос должен достичь сервера, быть обработанным там, а ответ должен вернуться к клиенту. Каждая передача состоит из сериализации и распространения к месту назначения, поэтому время зависит от размера данных.
Однако в вашем случае наибольшее влияние, скорее всего, оказывает обработка на сервере. Сложные запросы могут потребовать довольно много времени, в зависимости от их сложности (не обязательно связанной с размером вывода) и производительности сервера.
Для полноты:
- задержка сериализации = размер данных / пропускная способность (42 КБ / 100 Мбит/с ≈ 3,5 мс)
- задержка распространения: не менее 5 мс на 1000 км, в зависимости от подключения и среды (Гронинген-Вирджиния >30 мс за поездку)
Таким образом, вы можете приблизительно оценить, что круговое путешествие займет менее 100 мс, а остальная часть задержки связана с обработкой сервера. Вот почему жизненно важно, чтобы ваш сервер и база данных были оптимизированы для вашей рабочей нагрузки. Также необходимо учитывать задержку передачи, поэтому приложение должно максимально оптимизировать и объединять запросы.