Грубая оценка времени туда и обратно в системе клиент-сервер - PullRequest
0 голосов
/ 26 января 2012

Я хочу знать ваши практические правила, касающиеся времени туда и обратно для разных объектов в среде клиент-сервер.Сроки должны дать понимание того, насколько дорого делать запрос в разных частях цепочки вызовов.То есть получить представление о влиянии проблемы SELECT N + 1, которая может возникнуть в системе.Предположим, у нас есть следующие объекты:

client <-> server <-> dbserver <-> disc access (on db server)

Предположим,

  • , клиент подключен к серверу через Интернет
  • сервер и dbserver подключен к тому же коммутатору.
  • сервер базы данных имеет разумный внутренний жесткий диск
  • клиентский запрос мал и одинаков для результата с сервера.Каждый в ярости 1-4 КБ.

Сроки, вероятно, состоят из отправки данных, обработки на другой стороне и возврата новых данных.

Моя интуиция говорит мне, что

клиент <-> на сервере 1-2 секунды

сервер <-> dbserver 200 миллисекунд

dbserver <-> жесткий диск 15-40 миллисекунд

чтоВаш опыт?

1 Ответ

2 голосов
/ 01 февраля 2012
  • Пинет Clinet на сервер ~ 100 мс (время приема-передачи)
  • Клиентское соединение ~ 512 КБ / с ВВЕРХ ~ 1 МБ / с ВНИЗ (дешевый широкополосный / DSL)
  • Пинг сервера с БД ~ 1мс
  • Соединение с сервером (к БД) ~ 10 МБ / с ВВЕРХ ~ 10 МБ / с ВНИЗ (дешевое подключение по локальной сети)
  • Жесткий диск БД "случайное" чтение / запись ~ 2 МБ / с, ЧТЕНИЕ ~ 1 МБ / с, ЗАПИСЬ (HDD)
    • Но БД, скорее всего, будет кэшироваться в ОЗУ ~ 6 ГБ / с пропускной способности

Отправка 4 КБ с клиента на сервер ~ 57 мс ((4 КБ / 512 КБ / с) + 0,050 с) Время обработки на сервере ~ 1 мс Отправка 4 КБ с сервера на дБ ~ 1 мс ((4 КБ / 10 МБ / с) + 0,001 с) Время обработки для дБ ~ 1 мс Чтение ОЗУ для дБ ~ 1 мс ИЛИ Чтение жесткого диска для дБ ~ 2 мс (4 КБ / 2 МБ / с) Отправка 4 КБ с БД на сервер ~ 1 мс Отправка 4 КБ с сервера клиенту ~ 54 мс ((4 КБ / 1 МБ / с) + 0,050 с)

Всего в оба конца ~ 117мс (57мс + 1мс + 1мс + 1мс + 2мс + 1мс + 54мс)


Вопрос асининовый на многих уровнях. Большинство ИТ-специалистов не будут пытаться оценить ценность, которую они могут получить от простого теста по времени. Различное оборудование будет сильно отличаться.

...