SSL no Apache parece afetar significativamente o desempenho do WebDAV

1

Estou usando o Apache 2.2 em execução no Windows Server 2008 R2 como um servidor WebDAV para que os clientes carreguem arquivos de mídia grandes (aproximadamente de 100 a 2000 MB). Eu estou achando que quando tenho SSL habilitado (openSSL 0.9.8o) e uso HTTPS para os uploads o throughput é em torno de 13Mbps mas quando eu desabilito e uso apenas o HTTP fico em torno de 80Mbps. Não consigo entender por que isso está acontecendo, já que, no meu entendimento, o trabalho pesado com SSL foi feito no início da conexão.

Se ajudar o cliente que estou usando é a linha de comando cURL e aqui está o comando:

curl -k -f -u digital:recorder -T 00320120321101048_ch1.mkv http://mediaserver/webdav/
curl -k -f -u digital:recorder -T 00320120321101048_ch1.mkv https://mediaserver/webdav/

Alguém tem alguma idéia de por que o desempenho é tão drasticamente afetado pela ativação do SSL?

Felicidades.

ATUALIZAÇÃO: O problema não existe em clientes Windows 7, portanto, isso só acontece no XP. Isso pelo menos identifica que o problema está no lado do cliente. Estou executando exatamente a mesma linha de comando de ambos os sistemas, mas isso afeta apenas o WinXP. Alguém sabe por que isso pode ser? Que XP está, de alguma forma, prejudicando a velocidade de upload do SSL?

Eu executei testes no Fedora Linux também. Então o problema agora está mais próximo de ser definido: a mesma versão do cURL + OpenSSL fazendo o upload do mesmo arquivo para o mesmo servidor é rápida no Linux e no Windows 7, mas muito lenta no Windows XP.

Alguém pode ajudar com isso porque eu realmente bati em uma parede de tijolos!

    
por takesides 21.03.2012 / 18:19

2 respostas

1

Bem, a resposta foi que isso era um problema com o modo como o Windows XP lida com pacotes SSL. Estranho mas verdade. No final, modificamos a biblioteca cURL para evitar o problema.

Para qualquer um que tenha esse problema com o Apache como o destino WebDAV, descobri que outra opção é usar a diretiva SSLCipherSuite para alterar o nível de criptografia para MEDIUM (o padrão é HIGH). Isso significa que ele usa RSA de 128 bits em vez de criptografia AES de 256 bits, o que acelerou o throughput para níveis de velocidade quase não criptografados. Isso pode ou não ajudar nos servidores IIS, pois ainda tive a chance de tentar isso.

    
por 01.04.2012 / 11:40
1

A criptografia SSL é uma tarefa intensiva da CPU. O "trabalho SSL pesado" não é feito logo após o início da conexão, mas a criptografia deve ser feita para o upload do arquivo inteiro.

Verifique o consumo de CPU do seu servidor com e sem a ativação do SSL, e você verá uma grande diferença.

    
por 21.03.2012 / 20:01