← SMF

8 dicas para tornar o SMF mais rápido

Lida 22228 vezes

Offline

Carlos Gandra 
Administrador
Mensagens 3081 Gostos 97
Feedback +1

Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4

Viva,

Existem algumas medidas que podemos tomar para que o SMF seja mais rápido, gastando menos recursos no servidor e proporcionando uma navegação muito mais agradável e eficaz para os seus utilizadores. São acções que permitem aumentar bastante a performance, em especial nos Fóruns que já contam com milhares de mensagens/registos. Este artigo é uma adaptação livre minha do original escrito pelo Vekseid.

Importante: Pelamordedeus façam cópias de segurança antes de mexer no que está quieto, todas estas operações são testadas e seguras mas pode sempre haver algo que corre mal (principalmente por erro nosso).

1 - Mover os avatares
Parece ridículo mas pode aumentar muito a performance do SMF. Por defeito, ele trata os avatares como anexos, e por isso, por cada avatar que é carregado, o sistema tem de fazer o load das sessões, das definições e permissões de cada user, o quadro e o theme, para além do avatar em si.

Podemos então movê-los para um novo directório e começar a tratar os avatares como imagens que são :)


Primeiro criamos uma nova pasta na raiz do Fórum, a que podemos chamar avs (a pasta avatares já existe, e armazena os avatares públicos)


Vamos ao painel de admin --> Gestor de Anexos --> Opções de avatares


Em "avatares enviados" vamos a "enviar avatares para" e escolhemos "Directório específico". Em baixo colocamos o directório da pasta avs tal como mostrado na imagem e confirmamos com "Gravar".

Agora, todos os avatares que os utilizadores enviarem, irão para esta nova pasta e não vão gastar tantos recursos. Mas, e os que já existem? Fácil, movem-se também :) Basta ir a este endereço:

Código: [Seleccione]
http://www.omeuforum.com/index.php?action=manageattachments;sa=moveAvatars

Não vão ver nenhuma janela de confirmação em como eles foram movidos. Para se certificarem, basta irem ao vosso directório (por FTP por exemplo), abrirem a pasta avs e ver lá dentro todas as imagens:



Acabamos de fazer uma importante optimização ;) Seguinte...

2 - Desactivar verificação de hostname
Com a verificação ligada, cada página que é acedida vem com uma query de DNS reverso. Atenção: desactivar pode tornar as opções de expulsão de utilizadores menos eficiente. Para desactivar:



Painel de admin --> Funcionalidades e Opções --> Opções de Layout



Marcar a caixa para desactivar ;)

3 - Activar compressão
Provavelmente já terão esta activa, mas não perdem nada em verificar isso. Pode aumentar bastante a performance em combinação com o ponto 1, em especial para utilizadores com ligações à Web lentas...


Painel de Admin --> Configurações do Servidor --> Configuração de Funcionalidade


Marcar a caixa "Activar output comprimido" ;)

4 - Optimizar índices, tópicos e mensagens
Mostrar um número demasiado grande de tópicos no índice de cada Quadro/Sub-Fórum pode tornar o Fórum mais lento, se forem muitas pessoas a carregar páginas em simultâneo. Não existe um número ideal, pessoalmente recomendo entre 40 a 75 tópicos por página e entre 10 a 25 mensagens por cada página de tópico.


Painel de Admin --> Tópicos e Mensagens --> Definições de Tópicos


Configurar a gosto

5 - Utilizar um índice de pesquisa grande
Os índices de pesquisa personalizados associam cada palavra ás mensagens onde as mesmas estão presentes. O SMF coloca-nos 3 opções: criar um índice pequeno, médio ou grande. Utilizando o grande, ocupa um pouco mais de espaço na base de dados (mais 2 bytes por cada entrada), mas o aumento de velocidade é compensatório. Para o fazer:


Painel de admin --> Pesquisa --> Método de Pesquisa


Clicar em "criar índice personalizado"


Escolher a opção Grande. Dependendo do tamanho da base de dados, pode demorar alguns minutos ;)

6 - Marcar tópicos como lidos nos utilizadores inactivos
O Karlbenson criou um script excelente que marca como lidos todos os tópicos em todo o Fórum nos utilizadores inactivos (por defeito, utilizadores que não fazem login no Fórum há 90 dias ou mais). Isto permite reduzir significativamente o nº de entradas na tabela log_topics e com isso aumentar a performance do Fórum.


Façam o download neste link (necessário estar registado), do ficheiro correspondente à vossa versão do SMF (1.1.x ou 2.x). Enviem para a raíz do SMF (via FTP por exemplo) e de seguida acedam ao endereço:
Código: [Seleccione]
http://www.omeuforum.com/nomedesteficheiro.php

Dependendo da quantidade de utilizadores registados, este processo pode demorar vários minutos.


Por defeito ele marca como lidos a quem não entra no Fórum há mais de 90 dias, e executa 30 membros de cada vez. Ambos estes valores podem ser alterados, abrindo o script num editor (por exemplo o Notepad++).

7 - São necessários tantos Quadros/Sub-Fóruns?


Esta é uma questão que todos os admins de Fóruns devem colocar a si mesmo, independentemente da performance. Um número excessivo de quadros pode dar uma ideia de organização superior, mas na prática é inibidor e reduz a participação dos membros. Para além disso, quantos mais quadros forem carregados no index, mais tempo demora, e mais entradas na base de dados ocupa.

8 - O Calendário é mesmo preciso?


A não ser que tenha eventos agendados e necessite mesmo deles na temática da sua comunidade, considere desactivá-lo. Com o calendário activo, o SMF é obrigado a procurar eventos em cada tópico que é aberto, uma e outra vez, o que aumenta a carga no servidor e o tempo de resposta.

Para além destas dicas, existem outros factores que influenciam o tempo de carregamento. Uma das acções que deve ser feita com regularidade são as operações de manutenção que o SMF nos disponibiliza (com especial destaque para a optimização das tabelas da base de dados:


Se o seu layout faz uso de várias imagens, deve procurar comprimir as mesmas para diminui o tempo de carregamento. No caso das JPG, recomendo o programa Irfanview, que comprime bastante sem perdas significativas de qualidade (dependendo claro do valor que atribuímos):


Para outros formatos (PNG, GIF...) e apesar de não ser gratuito, recomendo o que mais uso - Photoshop - nesta opção:


Existem mais medidas de optimização do SMF, mas que já requerem colaboração por parte da empresa de alojamento, como converter as tabelas para InnoDB. Ficará para outra altura, no entanto podem pesquisar estas definições no Suporte oficial do SMF.

Dúvidas/problemas podem colocar aqui neste tópico ou abrir um novo ;)
Offline

MarKo 
Administrador
Mensagens 4610 Gostos 10
Feedback +1

Troféus totais: 37
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter 10 Polls Poll Starter

Artigo brilhante! Post do mês. ;)
Offline

Celso Azevedo 
Membro
Mensagens 3500 Gostos 38
Feedback +12

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Bom Post!
Vai ajudar e muito as pessoas que não percebem nada disto, como eu :lol:
Offline

Miguel Dias 
Membro
Mensagens 1273 Gostos 1
Feedback +1

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Realmente, Grande Artigo :D
Offline

Carlos Costa 
Membro
Mensagens 1464 Gostos 10
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Muito bom ac99!

Vai ajudar muitas pessoas este artigo.  :grin:

Um dos melhores posts que já neste fórum.  :grin:
Offline

Carlos Gandra 
Administrador
Mensagens 3081 Gostos 97
Feedback +1

Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4

Obrigado pelos vossos comentários ;) Se conhecerem outras dicas sintam-se livres para as adicionar e com isso enriquecer o artigo.
Offline

asturmas 
Administrador
Mensagens 19734 Gostos 50
Feedback +2

Troféus totais: 39
Trófeus: (Ver todos)
Mobile User Windows User Super Combination Combination Topic Starter 100 Poll Votes 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter

Simplesmente fantastico
Parabens
Offline

goodsound 
Membro
Mensagens 2485 Gostos 0
Troféus totais: 31
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3

Excelente artigo ac99. ;)
Offline

Dr_92 
Membro
Mensagens 263 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Excelente mesmo.

ac99, permites-me que o publique no onecustomize.com ?

(com os devidos créditos citados pelo autor).

Os melhores cumprimentos,
Bruno Brás.
Offline

Carlos Gandra 
Administrador
Mensagens 3081 Gostos 97
Feedback +1

Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4

Obrigado ;)

@ Dr_92 não creio que isso seja bom nem para o teu site nem para o +tráfego, devido ao conteúdo duplicado ;) De qualquer forma agradeço-te o interesse.
Offline

Dr_92 
Membro
Mensagens 263 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Ok, tens razão, mas não deixa de ser um excelente post ! Parabéns !
Offline

MF 
Membro
Mensagens 87 Gostos 0
Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 50 Posts

Excelente post ac99.

Offline

Carlos Gandra 
Administrador
Mensagens 3081 Gostos 97
Feedback +1

Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4

Obrigado a ambos ;)
Offline

HawK 
Membro
Mensagens 1698 Gostos 0
Feedback +8

Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Excelente post!!!!!
Offline

Tjda 
Membro
Mensagens 690 Gostos 9
Troféus totais: 31
Trófeus: (Ver todos)
Mobile User Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

ainda não apliquei tudo,  mas acho que ficou mais rápido, no que toca aos quadros, há alguma melhoria se colocarmos mais sub-quadros, mas diminuindo o numero de quadros principais ?

bom artigo