Предполагая, что вы не учитываете настройку соединения (как вы указали в своем обновлении), это сильно зависит от выбранного шифра. Затраты сети (с точки зрения пропускной способности) будут незначительными. Нагрузка на процессор будет зависеть от криптографии. На моем мобильном Core i5 я могу шифровать около 250 МБ в секунду с помощью RC4 на одном ядре. (RC4 - это то, что вы должны выбрать для максимальной производительности.) AES работает медленнее, обеспечивая «всего» около 50 МБ / с. Таким образом, если вы выберете правильные шифры, вам не удастся занять одно текущее ядро занятыми криптографическими издержками, даже если у вас есть полностью используемая линия 1 Гбит. [ Редактировать : RC4 не должен использоваться, потому что он больше не защищен. Однако аппаратная поддержка AES теперь присутствует во многих процессорах, что делает шифрование AES действительно быстрым на таких платформах.]
Установление соединения, однако, отличается. В зависимости от реализации (например, поддержка фальстарта TLS) будут добавлены циклические переходы, которые могут вызвать заметные задержки. Кроме того, при первом установлении соединения выполняется дорогая криптография (вышеупомянутый ЦП может принимать только 14 соединений на ядро в секунду, если вы по глупости используете 4096-битные ключи и 100, если вы используете 2048-битные ключи). При последующих подключениях предыдущие сеансы часто используются повторно, избегая дорогостоящего шифрования.
Итак, подведем итог:
Перевод по установленному соединению:
- Задержка: почти нет
- Процессор: незначительный
- Пропускная способность: незначительная
Первое установление соединения:
- Задержка: дополнительные поездки туда и обратно
- Пропускная способность: несколько килобайт (сертификаты)
- Процессор на клиенте: средний
- ЦП на сервере: высокий
Последующие подключения:
- Задержка: дополнительная передача туда и обратно (не уверен, что один или несколько, может зависеть от реализации)
- Пропускная способность: незначительная
- Процессор: почти нет