Wikipédia:Esplanada/geral/Peso dos filtros no funcionamento do projecto (23mar2011)

Origem: Wikipédia, a enciclopédia livre.

Peso dos filtros no funcionamento do projecto (23mar2011)

Quando eu entrei no projecto em Fevereiro de 2009, conseguia editar páginas grandes sem qualquer problema. Após a instalação dos filtros de edições (que creio que foi em meados desse ano), passei a ter sérios problemas de performance com páginas grandes, ao ponto de hoje em dia evitar ao máximo editar destacados ou outros artigos igualmente pesados. No início pensei que pudesse ser da ligação, mas após dois anos, e já noutro provedor melhor que o anterior, parece que se algo mudou na performance do projecto, foi para pior. Como se vê aqui, todos os filtros são impostos em cada edição que cada um faz, seja IP ou registado, e quanto mais complexos maior o seu peso, logo suponho que o problema venha daí.

Gostava de saber se outros também têm esta impressão, ou se sou só eu.--- Darwin Ahoy! 20h13min de 23 de março de 2011 (UTC)[responder]

Isso só acontece aqui se eu usar o WikiEd. Se eu tirar ele fica numa boa. Tanto é que quando eu tenho que fazer edições significativas em páginas grandes, eu desativo ele pra poder editar-las. !Silent (discussão) 20h31min de 23 de março de 2011 (UTC)[responder]
Eu tinha o WikiEd activo (creio que sempre tive), mas não deve ser disso não. Depois de desactivar o gadjet experimentei fazer uma edição num destacado e levou quase um minuto para gravar, na mesma como antes.--- Darwin Ahoy! 20h44min de 23 de março de 2011 (UTC)[responder]
O tempo para salvar uma página, ao menos nas minhas máquinas, é proporcional ao tempo para carregá-la. Qaundo uma página demora 5 segundos pra carregar, costuma demorar mais ou menos o mesmo tempo pra salvar alguma alteração nela. Os filtros, em média, consomem 5 milissegundos. Considerando que temos aproximadamente 100 filtros, a ferramenta inteira consome 0,5 segundos do total de uma edição. Portanto, os filtros ainda não parecem estar causando esse problema relatado. Kleiner msg 21h00min de 23 de março de 2011 (UTC)[responder]
Eu essa página que editei abro nuns 5 segundos, mas para editar leva quase um minuto. De onde veio esse valor mágico dos 5 milissegundos? Nunca ouvi falar nisso, e a própria página de ajuda da wiki-en que mostro acima diz que o tempo varia consoante a complexidade do filtro.--- Darwin Ahoy! 21h06min de 23 de março de 2011 (UTC)[responder]
O valor "mágico" veio de minha observação pessoal a dezenas e dezenas destes filtros, para os quais o valor fica geralmente entre 2 e 4 ms. Se falei em 5 ms, foi pra jogar a média pra cima. Apenas filtros extremamente mal configurados passariam desse valor, algo que não encontrei até hoje. O tempo varia não com a complexidade, mas com as variáveis utilizadas e com o tipo de edições analisadas. Basta colocar como primeira condição "apenas artigos na namespace Discussão", por exemplo, para o tempo do filtro cair para menos de 3 milisegundos. Kleiner msg 21h14min de 23 de março de 2011 (UTC)[responder]
[conflito de edição] Ao purgar o cache (do servidor) da página que editou, o tempo de processamento no lado do servidor indicado no código HTML foi o seguinte:
<!-- Served by srv209 in 10.980 secs. -->
Além destes 11 segundos, há o tempo de download (que depende da conexão) e também o tempo de processamento de eventuais (java)scripts no lado do cliente (que varia com o navegador).
Após editar e clicar no "Salvar página", haverá o tempo de envio do código wiki para o servidor, e também o tempo de processamento das blacklists, whitelists e filtros em geral. Ao contrário das blacklists, os filtros possuem um controle do tempo de processamento e o valor médio é exibido na descrição do filtro. Por exemplo, o filtro com mais correspondências tem um tempo médio de execução de 3,52 ms, que não chega nem perto do tempo que o MediaWiki gasta para processar o código wiki e transformá-lo em HTML (aqueles 11 segundos). Helder 21h31min de 23 de março de 2011 (UTC)[responder]
Helder, corrija-me se estiver errado, mas o filtro é sempre aplicado independentemente de ter correspondência ou não, certo? Nesse aspecto, o número de correspondências não é relevante. Depois de ver o link que mostrou vi vários dos filtros acessíveis, e encontrei alguns com valores altos, por exemplo, o 26, o 28 e o 49 (este último parece-me bem desnecessário) todos eles têm acima de 8 ms, e creio que vários dos ocultos andarão por aí também, pois devem ser semelhantes ao 26 e 28 ou mais elaborados. De qualquer modo, depois da sua explicação, penso que o problema maior da performance não vem dos filtros, mas é curioso que eu tenha notado uma diferença abismal mais ou menos na época em que foram implementados, pois tenho a certeza que antes conseguia editar artigos extensos sem dificuldades de maior, como aliás faço em qualquer outra wikipédia. O problema é mesmo desta, seja dos filtros ou do que for.--- Darwin Ahoy! 22h00min de 23 de março de 2011 (UTC)[responder]
A en.wiki possui 4x mais filtros ativos, alguém sabe dizer se lá ocorre a mesma lentidão que ocorre aqui? Kleiner msg 21h03min de 23 de março de 2011 (UTC)[responder]
Na wiki-en eles levam isto dos filtros bem a sério, tanto que qualquer nova inclusão é discutida durante uma semana no mínimo, e há uma série de regras para não afectar demasiado a performance.--- Darwin Ahoy! 21h06min de 23 de março de 2011 (UTC)[responder]
Considerando que a imensa maioria dos nossos filtros foram importados pelo Lechatjaune e pelo Rjclaudio justamente da en.wiki, não deveríamos nos preocupar com isso então. Exceto, é claro, que haja alguma dúvida na seriedade destes contribuidores. Kleiner msg 21h14min de 23 de março de 2011 (UTC)[responder]
A wiki-en tem cerca de 90 filtros, se nós que somos esta mixaria já temos 100, algo está mal aí. E eu não duvido da seriedade de ninguém, mas sei que esses filtros foram adaptados e modificados em muitas ocasiões, pelo que é natural que isso esteja a afectar a performance. Tenho sérias dúvidas sobre o valor de 2 a 4 milisegundos que foi dito acima, já que os nossos filtros quase todos parecem ser em regexp, o que é considerado "expensive" na wiki-en, e "expensive" lá normalmente significa mais que 5 milisegundos. Alguém já fez algum estudo sério sobre isso aqui, para não estarmos só com suposições?--- Darwin Ahoy! 21h32min de 23 de março de 2011 (UTC)[responder]
Você não está duvidando do valor, está simplesmente duvidando da minha palavra. Não se trata de suposições, se trata de análise que eu já fiz exatamente para ver o tempo médio de execução dos filtros, apenas nunca me preocupei em anotar o resultado em canto algum. A maioria dos filtros são públicos. Se realmente duvida de mim, é só consultá-los de um por um, jogar os valores numa planilha e tirar a média. Nós temos aproximadamente 100, porque mais da metade deles foi trazida justamente da en.wiki por Rjclaudio e Lechatjaune, algo já explicado acima. Portanto não há nada de mal na nossa quantidade de filtros. Nosso principal problema está na quantidade de pessoas para analisar os disparos dos filtros, que são de milhares por semana. E eu particularmente me preocupo em toda alteração que faço jamais deixar um filtro com um tempo de execução maior que 4 ms, mas não posso falar pelos demais mantenedores. E curiosamente, os filtros que usam a "rlike" são os mais rápidos. O mais lento que conheço é o 28 (Bloqueio - Guerra de edições / NPOV / CITE / VDA) que não usa regex e consome "imensos" 9 ms. Kleiner msg 21h50min de 23 de março de 2011 (UTC)[responder]
Correção: realmente a en.wiki tem apenas 91 filtros ativos. Kleiner msg 21h55min de 23 de março de 2011 (UTC)[responder]