Шифрование OpenSSL занимает очень много времени при загрузке - PullRequest
0 голосов
/ 29 июня 2009

Мой вопрос касается затрат на шифрование OpenSSL во время загрузки, и вот проблема: при работе с SSL через IMAP4 (с помощью приложения, которое мы пишем, какой-то тип прокси-сервера IMAP4), мы получаем сообщения двумя различными способами: 1. полная загрузка 2. частичная выборка (получение кусков). Первый фрагмент частичной выборки и полной выборки почти эквивалентен в усилиях в отношении приложения. Однако происходит то, что при отправке данных обратно клиенту (либо всему телу, либо просто его части) мы получаем смешные времена ответа из-за шифрования SSL. Мы ясно видим, что чем больше данные, тем больше времени требуется OpenSSL для их шифрования (линейно по размеру, а полное и частичное прекрасно показывает их. Проблема не в том, что для этого требуется больше времени, а в абсолютном времени, в течение которого они дубли). Это приводит нас к ситуации, когда полная выборка в 80 Кбит может привести к 7-секундному времени отклика (против чуть более 1 секунды, когда НЕ используется SSL). Кто-нибудь сталкивался с подобной проблемой? Есть ли вероятность, что такие накладные расходы могут быть реалистичными? У кого-нибудь есть идея по ускорению передачи данных обратно клиенту (без добавления внешнего ускорителя)? Спасибо.

1 Ответ

0 голосов
/ 29 июня 2009

Поскольку вы упоминаете, что ваш продукт - прокси, который вы написали, я сначала посмотрю, может ли проблема быть связана с алгоритмом Нейгла . Когда я вижу падение производительности сокета через пол, это первое, что я проверяю. По сути, вы должны убедиться, что вы записываете и сбрасываете данные в нужных точках вашей программы. Если вы сделаете это неправильно, по умолчанию перед отправкой данных будет задержка в 0,2 секунды. Эти задержки быстро складываются, особенно при частых небольших запросах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...