compactação de texto no postfix

5

Estou tendo o seguinte arranjo. Um servidor compilando e-mails em php e outro servidor que executam postfix (portanto tenho latências de rede).

Cada e-mail tem cerca de 300 Kb e, para enviar um e-mail (usando a classe de e-mail do Zend), são necessários 0,2 s . No entanto, se eu comprimir o conteúdo de texto do email, o tamanho será 30Kb e a latência será 0,06 . O problema é que o postfix não suporta compressão de texto, então estou pensando em desenvolver um milter que irá descomprimir e-mails da fila.

Can you think of any drawback of this solution or can you suggest any alternative ?

edit: a empresa para a qual eu trabalho envia > 100 000 emails para registados utilizadores diariamente e estou a tentar reduzir o tempo de envio para o mínimo.

    
por ptigas 26.04.2012 / 15:47

2 respostas

2

Prove que é a rede que é o seu gargalo.

Mensagens de 300 KB através de ethernet gigabit têm um tempo de transferência teórico de aproximadamente 2.5ms cada; isso indica que você pode enviar centenas deles por segundo entre a origem e o postfix.

No entanto, o postfix também tem que armazenar essas mensagens em uma fila no disco, que é muito mais lenta - armazenar mensagens de 100 * 300KB no disco (~ 30MB) provavelmente levaria até um segundo ou mais, várias vezes mais lento que o tempo de trânsito da rede.

Reúna dados precisos primeiro e depois reclame que algo é um gargalo.

    
por 26.04.2012 / 17:00
2

Minha preferência seria compactar e-mails ANTES que eles alcancem o postfix com PHP: Zlib por exemplo. Afinal, um servidor SMTP lida com o tráfego de e-mail / SMTP e não com compactação / descompactação.

    
por 26.04.2012 / 15:54