Iniciar uma conversa

Como configurar o banco de cache (PDO) do Cliente Web Pro para MySQL ou SQL Server, visando melhor performance?

A partir da versão 9.1.0 em diante, você pode tirar vantagem do PDO (PHP Data objects) no Cliente Web Pro. Isso permite um cache mais rápido dos cabeçalhos das mensagens, garantindo maior rapidez na visualização das mensagens. O default para o banco de cache é o SQLite, que grava em arquivos nomeados icewarp/mail/dominio/conta/~webmail/cache.db e é recomendado para até 500 contas. Acima disso, recomenda-se MySQL ou SQL Server, a fim de evitar escritas em disco.

O primeiro login pode demorar um pouco mais, dependendo do número de mensagens na caixa postal, mas acessos posteriores serão mais rápidos, devido ao fato dos cabeçalhos das mensagens estarem em cache. Este procedimento é extremamente útil para clientes que fazem uso pesado do Cliente Web. Caso esteja em dúvida com relação ao banco de dados a usar, recomendamos o MySQL, que tem demonstrado ótima performance.

Vale ressaltar que deve-se ter cuidado ao criar um novo banco de cache PDO. Caso possua contas POP, o índice de mensagens lidas e não lidas será perdido (bem como as bandeiras coloridas ficarão todas vermelhas), a não ser que primeiro converta as contas para IMAP, primeiro executando o script em html/admin/tools/pop_to_imap.html e em seguida alterando as contas no console (ou via tool) para IMAP ou POP + IMAP. A partir da versão 10.4.4, entretanto, tais aspectos deixam de ser um problema graças à nova opção de migração do banco de cache.

Banco de cache PDO em MySQL

Recomendamos usar o MySQL mais recente com o IceWarp, também, mais atual.

Lembre também de configurar seu MySQL (my.ini) para poder abrir um bom número de conexões, por cima podemos alocar 800. Considere usar método de armazenamento Innodb, visando máxima performance.

Você precisa de um banco de dados devidamente criado (em branco). Abaixo, criamos um banco de dados em UTF-8, via linha de comando. Note que usaremos o banco MySQL como cache através de conexão direta, sem usar ODBC.

CREATE DATABASE `webmail_pdo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


As instruções abaixo são requeridas apenas para plataforma Windows, não sendo requeridas no ambiente Linux.

No caso de IceWarp 32 bits:

Agora você precisa obter o libmysql.dll a partir do diretório bin da sua instalação MySQL e copiar o mesmo para windows\system32, ou no caso do Windows 64 bits, em windows\syswow64. Caso tenha instalado o MySQL 64 bits, obtenha o libmysql.dll de uma instalação 32 bits. Vôce pode obter o libmysql.dll 32 bits a partir do download da versão x86 32 bit no seguinte link. Escolha o arquivo ZIP maior, referente à mesma versão 64 bits que você possui instalada e obtenha o libmysql.dll extraindo o arquivo ZIP, na pasta lib. Copie para o local indicado anteriormente.

No caso de IceWarp 64 bits, copie libmysql.dll 64 bits para dentro de \windows e 32 bits para \windows\syswow64. 

Em seguida, edite o arquivo icewarp/php/php.ini e descomente a seguinte linha:

extension=php_pdo_mysql.dll

Crie também um arquivo icewarp/php/php.user.ini contendo apenas a linha acima. Isso será util quando realizar upgrade do IceWarp Server, para que tais informações não sejam perdidas.

Banco de cache PDO em SQL Server

Caso queira usar MS SQL como cache PDO, descomente a linha: extension=php_pdo_odbc.dll line.

Importante: caso esteja em Windows 64 bits com IceWarp 32 bits, crie o ODBC em 32 bits, acessando %systemdrive%\Windows\SysWoW64\Odbcad32.exe, caso contrário, não visualizará a DSN através do console IceWarp

Caso esteja usando o IceWarp 64 bits, crie a DNS tanto em 32 bits quanto 64 bits em system32/odbccad32.exe e syswow64/odbccad32.exe.
 

Acesse o console de administração e, no nó Cliente Web, defina a conexão a partir do menu drop down. Exemplo: mysql:host=localhost;dbname=webmail

Substitua host, caso necessário e dbname.

Reinicie todos os serviços e o banco de dados deve começar a ser usado, como pode ser visto acessando seus dados através de um programa cliente MySQL.

Caso tenha problemas, verifique o log de erro (e*.log) em Status/Logs.


Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Flávio Zarur Lucarelli

  2. Publicado
  3. Atualizado

Comentários