Я пытаюсь решить, использовать ли SSL для веб-приложения. Он не обрабатывает кредитные карты или финансовые данные, но хранит информацию, которая должна быть конфиденциальной по личным / социальным причинам. Также есть обычные функции регистрации и входа в систему, которые, возможно, следует защитить.
Я знаю, что при использовании SSL произойдет некоторое снижение производительности, потому что сервер и клиент имеют шифрование и дешифрование. Кроме того, насколько я понимаю, зашифрованные данные не так сильно сжимаются, поэтому Apache mod_deflate
вероятно, тоже не сработает.
Насколько значительным может быть снижение производительности? Я планирую провести некоторое тестирование, но, тем не менее, мне будут интересны любые комментарии, основанные на опыте.
Если вас беспокоит производительность, тогда SSL должен быть только частью вашей общей стратегии. Я управляю несколькими сайтами некоторых компаний из списка Fortune-5, которые видят миллионы посещений в день и тысячи уникальных посетителей, и мы не используем SSL при загрузке. Мы обнаружили, что большинство наших проблем с загрузкой сосредоточено на базе кода и сторонних библиотеках, которые мы используем (в основном .NET, Java).
Поэтому, если вас беспокоит нагрузка SSL, не беспокойтесь, если у вас нет проблем с другими аспектами, такими как производительность кода при интенсивном трафике, с которым вы также имеете дело. И нагрузка здесь на самом деле означает след памяти и CPU ... Легко исправить нагрузку на трафик; именно эти другие нагрузки в основном имеют значение или вступают в игру в первую очередь.
При каждом подключении из-за накладных расходов PKI наблюдается заметное снижение производительности. Фактическая передача данных с использованием симметричных ключей имеет относительно небольшие накладные расходы. Точные соотношения и затраты зависят от вашего конкретного аппаратного / программного стека.
Обычно накладные расходы на передачу большого количества данных невелики; накладные расходы на выполнение множества мелких подключений (например, https для большого количества небольших изображений) намного больше. Вы можете выбирать части страницы для защиты, это не обязательно должно быть все или ничего.
Проведите свои тесты и тесты, я подозреваю, вы обнаружите, что общее снижение производительности невелико и терпимо.
Да, это вызывает определенную нагрузку, и ее стоит перенести на балансировщик нагрузки с установленными модулями SSL. Однако, если вам необходимо использовать сервер, любая созданная им нагрузка стоит своего веса, если вы имеете дело с любой конфиденциальные данные, хотя вопрос о том, считается ли личная информация конфиденциальной, - это другой вопрос (помимо входа в систему социальные сети обычно не используют https).
Пытаться ab для стресс-тестирования через HTTP или HTTPS, чтобы увидеть разницу, и не забудьте включить mod_ssl только в разделах: 443 в вашем vhost.conf
и т.д
зашифрованные данные не сжимаются так сильно
SSL имеет свой протоколы сжатия, использование которого вы можете отслеживать. Для увеличения скорости запросов обязательно используйте Кэширование сеанса SSL
Произойдет небольшое снижение производительности, поэтому обычно большинство веб-сайтов требуют только SSL в формах регистрации и входа, чтобы обеспечить безопасную отправку данных, после чего просмотр возобновляется без SSL.