Desempenho da minha estrutura de Permalink?
3 respostas
- votos
-
- 2010-10-29
Vocêpode verificar olhandopara otamanho da opção Rewrite_Rulesnobanco de dados.Se épequeno (queeu acredito que deveria comessaestrutura),vocênãoestá usando regras detalhadas.Em contraste,se você vir várias linhasporpáginaestática,vocêestá usando regras detalhadase não ébom.
You can check by looking at the size of the rewrite_rules option in the database. If it's small (which I believe it should with this structure), you're not using verbose rules. By contrast, if you see several lines per static page, you're using verbose rules and it's not good.
-
Infelizmente,existem várias linhasporpágina depáginaestática.Então,estaprovavelmentenão é umaboaestrutura de Permalink ... Hmmmm ... Issoexplica umamensagem deerro que recebi há umtempo atrás "Oerro debanco de dados do WordPresstem umpacotemaior do que 'max_allowed_packet",eutive que aumentaressa configuraçãono MySQL.unfortunately... there are several lines per static page GRIN. So this is probably not a good permalink structure...hmmmm... this does explain an error message I got a while ago "WordPress database error Got a packet bigger than 'max_allowed_packet", I had to increase this setting in MySql.
- 0
- 2010-10-29
- edelwater
-
Em seguida,novamente ... Se você continuar adicionandopáginas durante os anos,você receberá automaticamente Max_Allowed_Packet,nãoimporta o que ... amenos que você revertemparapermalinksnãobonitos ... (eu acho)então ...para serescalávelpelospróximos 30 anos:) Provavelmenteterei que reverterpara Permalinksnãobonitos.Eu acho que.then again... if you keep adding pages during years you will automatically get max_allowed_packet no matter what... unless you revert to non pretty permalinks... (i think) so... to be scalable for the next 30 years :) I will probably have to revert to non pretty permalinks. I think.
- 0
- 2010-10-29
- edelwater
-
Contanto que vocêesteja usando regrasnão verbaises,suapágina,anexoe regras detipopersonalizado sãogenéricas.Linkstãobonitos sãobastante segurosnaprática,desde queelesestão usando umaestruturanão verbosa.As long as you're using non verbose rules your page, attachment and custom post type rules are generic. So pretty links are quite safe in practice, so long as they're using a non verbose structure.
- 1
- 2010-11-11
- Denis de Bernardy
-
- 2010-11-12
Eu veto a resposta aceita.A complexidade das regras de reescritanão é deforma alguma umamedidapara o desempenho dapesquisa do artigo.
Emparticular,parece que começar suaspermalinks com osnomes dos correios é ruim;ver http://codex.wordpress.org/using_permalinks#structure_tags
Semter olhadopara o código do WordPress,possoimaginar queeles de algumaforma o índiceposts hierarquicamente.Portanto,as variáveis usadasem Permalinks devem serencomendadas daesquerdapara a direita domaisgeral até a variávelespecíficamais usada.Esta heurísticafavorecefortemente ospadrões ano/mês/nome ou categoria/nome.
I veto the accepted answer. The complexity of the rewrite rules is in no way a measure for the performance of article lookup.
In particular, it seems that starting your permalinks with post names is bad; see http://codex.wordpress.org/Using_Permalinks#Structure_Tags
Without having looked into Wordpress code, I can imagine that they somehow index posts hierarchically. Therefore, the variables used in permalinks should be ordered from left to right from the most general to the most post specific variable used. This heuristic strongly favors the standards year/month/name or category/name.
-
`categoria/nome` é realmente conhecidoe confirmado como causandoproblemas de desempenho segrande quantidade depáginasestiverpresente.Não étão relacionado à velocidade dapesquisa quanto à dedução do objeto correto a servire complexidade das regras de reescrita ** é ** completamente relevante.`category/name` is actually known and confirmed as causing performance issues if large amount of pages is present. It is not as much related to speed of lookup as to deducing correct object to serve and complexity of rewrite rules **is** completely relevant.
- 1
- 2010-11-12
- Rarst
-
Vocêpode dar uma referência de código/códigoporfavor?Acabei de desligar o código `(WP-include/rewrite.php`e` wp-include/query.php`);Enquantoparecemuitoterrívele desnecessariamente complicado,parece quebasicamente aspartes são coletadase identificadase,em seguida,inseridas diretamenteem consultas SQL.Eu aindanão consigo verpor queisso deve levarmaistempoparapedidos diferentes.Mas quando a consulta DB éexecutada,váriasjunções devem serexecutadase _here_ ordem realmenteimporta.Eupareço lembrar que o MySQL éparticularmente ruimem otimizar a ordem deentrada.Can you give a doc/code reference please? I just skimmed the code `(wp-include/rewrite.php` and `wp-include/query.php`); while is looks really awful and unnecessarily complicated, it appears that basically the parts are collected and identified and then directly inserted into SQL queries. I still cannot see why this should take longer for different orders. But when the db-query is executed, several joins have to be performed and _here_ order really matters. I seem to remember that MySQL is particularly bad at optimising join order.
- 0
- 2010-11-12
- Raphael
-
Eunão soumuitoprofundonateoria do DB,mas vocêtem quemanter osprodutospequenos.Em qualquer caso,issopode ser umbugno sentido de que éprogramadonãotãoeficientemente quantopoderia ser.I am not too deep into DB theory, but you have to keep products small. In any case, this might be a bug in the sense that it is programmed not as efficiently as it could be.
- 0
- 2010-11-12
- Raphael
-
Bem ... Eu li que começar com ospostnomesfoi ruime a outra respostamostra defato várias linhasporentrada (maspara omeublog deposts 10.000 queeu corrono WordPress há anos,provavelmentenãomudamuito,semperdermuitas referências).Eunãoentendi completamente sua resposta aquie o "veto",o queeuprecisofazer quando você vetar uma resposta????Well... i read that starting with post names was bad AND the other answer shows indeed multiple lines per entry (but for my 10.000 posts blog which i run on wordpress for years there is probably not much I change without losing a lot of references). I did not completely understand your answer here and the "veto" though, what do i need to do when you veto an answer????
- 0
- 2010-11-14
- edelwater
-
Eu sóescrevi "veto",não hátalfunção aqui.Meuponto é que otempo deexecuçãomais alto é causadopormais código sendoexecutado ou o DBMS.Comonão conseguiencontrar qualquermotivo que sugira que a ordem diferente de componentes de URL deve aumentar a quantidade deexecução de código,eu reivindico que omotivo reside com as consultas dobanco de dados.Mas comissomuitosposts,talvez qualquerpedido seja lento _Porque vocêtem tantosposts_.Você usa o cache?I only wrote "veto", there is no such function here. My point is that higher runtime is caused by more code being executed or the DBMS. Since I could not find any reason that would suggest that different order of URL components should increase the amount of code run, I claim the reason lies with the database queries. But with that many posts, maybe any order is slow _because you have so many posts_. Do you use caching?
- 0
- 2010-11-14
- Raphael
-
Err,sem ofensa,mas vetando uma resposta semterestudado completamente o código WPnãofazmuito sentido.FWIW,eu criminei,fixoe otimizado código WP suficienteem geral,e o código WP Permalinksem particular,para saber quaisescalase o quenão.;-) As regras verbaispodem levar a umaenorme configuraçãonatabela Opções,queprecisa serpuxada dobanco de dados (oumemcached)e unseralizedem cada carga depágina.Eu vi o último caso de usotrazer um servidor BI-Xeonmoderadamente carregadopara um rastreamentoem 2006.Err, no offense, but vetoing an answer without having thoroughly studied the WP code doesn't make much sense. FWIW, I authored, fixed and optimized enough WP code in general, and WP permalinks code in particular, to know what scales and what doesn't. ;-) Verbose rules can lead to a huge setting in the options table, that then needs to be pulled from the database (or memcached) and unserialized on every page load. I've seen the latter use-case bring a moderately loaded bi-xeon server to a crawl in 2006.
- 0
- 2010-11-14
- Denis de Bernardy
-
Bem,então você deve ser capaz de darmaisespecificidades do que "não seja verboso".O que é verbosidade aqui?A ordem das variáveisimporta?(Como o Codex diz quefaze o que você diznãoexplicaisso!) Além disso,seessa configuraçãotiver que serpuxada uma vezporpágina,por que oefeito aumentamais lugares?Deve desserializarnão ser _fast_?Mas,sim,certamente,estoupensandononível do quefaz sentido,não o queestáno código.Nemtodo o códigofaz sentido.Well, then you should be able to give more specifics than "don't be verbose". What is verbosity here? Does the order of variables matter? (since Codex says it does and what you say does not explain this at all!) Furthermore, if this setting has to be pulled once per page load, why does the effect increase the more posts there are? Should deserializing not be _fast_? But, yes, certainly, I am thinking on the level of what makes sense, not what is in the code. Not all code makes sense.
- 0
- 2010-11-14
- Raphael
-
O Codex dá "algumas dicas" (ver Codex)e nãoespecificou o algoritmo completo.Noentanto,apontapara http://ottopress.com/2010/category-in-permalinks-considered-harmful/e http://comox.textdrive.com/pipermail/wp-testers/2009-January/011097.htmltudoEmtudo há umaespécie de atritoentre asmelhorespráticas de url hackingno campo dainteração de computador humanoe desempenho do campo damelhoria de desempenho.the Codex give "A few HINTS" (see Codex) and does not specificy the complete algorithm. It does however point to http://ottopress.com/2010/category-in-permalinks-considered-harmful/ and http://comox.textdrive.com/pipermail/wp-testers/2009-January/011097.html all in all there is a sort of friction between best practices of url hacking in the field of human computer interaction and performance from the field of performance improvement.
- 2
- 2010-11-14
- edelwater
-
Obrigadopeloponteiro ottopress.Ele appaer quemudar convenções demodo que cada URL depágina começaria com `/página/`e cada URLpostar com `/postar/`,removendo ainejatuidade.Você deve ser capaz defazerisso sozinho,adicionando otextofixo à suaestrutura de Permalink.Issoprovavelmente seria umaboa decisão,de qualquermaneira;O que acontece seeutiver umabarrapós-barna categoriafooe umabarra depágina que é subpágina defoo?Ambos seriamendereçadospor `/foo/bar/` Assumindo a% Categoria%/% PostarName% Esquema.Ou são lesmasglobalmente únicas?Thanks for the pointer ottopress. It appaers that changing conventions such that every page url would start with `/page/` and every post url with `/post/`, removing the unambiguity. You should be able to do this yourself, adding the fixed text to your permalink structure. This would probably be a good decision, anyways; what happens if I have a post BAR in category FOO and a page BAR that is subpage of FOO? Both would be addressed by `/foo/bar/` assuming the %category%/%postname% scheme. Or are slugs globally unique?
- 1
- 2010-11-14
- Raphael
-
Ah,e comoeuentendo quenãotendomuitosposts quebraeste sistema,mastendomuitaspáginas,certo?Como o WordPress começou como sistema deblogs,issofez sentido.Então.Oh, and as I understand it not having many posts breaks this system but having many pages, right? Since Wordpress started out as blogging system, this made sense. Then.
- 0
- 2010-11-14
- Raphael
-
Sim,tendomuitaspáginase anexos é ruim com regras detalhadas,masnãotendomuitosposts.A razão é que o WP assume que é umpost,amenos que uma regraespecifique de outraforma.Regras detalhadasforamintroduzidas quando a WPintroduziupáginas,de voltaem 2005,afim deevitar colisões Permalink composts.Ainda há váriosingressos (alguns compatches,alguns sem) quetentammelhorar as coisasnessafrente.Yeah, having many pages and attachment is bad with verbose rules, but not having many posts. The reason is, wp assumes it's a post unless a rule specifies otherwise. Verbose rules were introduced when wp introduced pages, way back in 2005, in order to avoid permalink collisions with posts. There are still several tickets (some with patches, some without) that try to improve things on this front.
- 0
- 2010-11-14
- Denis de Bernardy
-
Ah,e,casonãoesteja claro quais são as regras detalhadas,aessência dela é,cadapágina,anexoe tipo depostpersonalizado,em vez de usar um regexgenéricoparaidentificartodos os dados dessetipo,acaba com várias regrase,portanto,Regex -novamente,porpágina,anexo outipopersonalizado.Isso sozinho é suficientepara desacelerar as coisas significativamente,mas o verdadeiropescoço degarrafaestá realmente relacionado apuxare unseralizar as regrasem primeiro lugar.Oh, and, in case it's unclear what verbose rules are, the gist of it is, each page, attachment, and custom post type, instead of using a generic regex to identify all data of that type, ends up with several rules and thus regex -- again, per page, attachment, or custom post type. This alone is enough to slow things down significantly, but the real bottle neck is actually related to pulling and unserializing the rules in the first place.
- 0
- 2010-11-14
- Denis de Bernardy
-
Então,o quepoderia ser resolvidopela simples correspondência de regexp éinchadopara umabagunça horrível sóporque algumas suposições do começonão se aplicammais.Existe uma razãoparticularpela qual o comportamentonãofoi alterado?Medoporque os velhos linksiriam quebrar?Emparticular,a distinçãoentrepáginase postesparece artificial hojeem dia,masesse é outrotópico.So what could be solved by simple regexp matching is bloated to a horrible mess just because some assumptions from the beginning do no longer apply. Is there a particular reason why the behaviour has not been changed? Fear because old links would break? In particular, the distinction between pages and posts seems artificial nowadays, but that is another topic.
- 0
- 2010-11-14
- Raphael
-
"Razãopor quenãomudou" -> http://core.trac.wordpress.org/search?q=Permalinks"reason why not changed" --> http://core.trac.wordpress.org/search?q=permalinks
- 0
- 2010-11-15
- edelwater
-
618bugs são uma razãoparafazê-lototalmentenovo,nãoparamantê-lo.618 bugs are a reason to do it whole new, not to keep it.
- 0
- 2010-11-15
- Raphael
-
@Raphael: Eu suspeito quetodos aqui concordarão comisso.Mas como cada um denós que realmente contribuipara ospatchespara o WP Core sabe,e como alguns desses 618,os resultados dapesquisa revelam (elesnão sãotodosbugs,BTW: Observe ospatchese modanastambém),o WP Core Devsnãoconfirmaçãoprontamente contribuiu com correçõese aprimoramentos debugs.Emparticular quando são aprimoramentosnãotriviais.@Raphael: I suspect everyone here will agree on that. But as each of us who actually contribute patches to WP core know, and as quite a few of those 618 search results will reveal (they're not all bugs, btw: notice the patches and changesets too), the WP core devs do not readily commit contributed bug fixes and enhancements. In particular when they're non-trivial enhancements.
- 0
- 2010-11-15
- Denis de Bernardy
-
É claro.Vocênão quer ser responsávelpor umapausa que vocênem sequer codificou a simesmo.Mas recebemosnovos recursos otempotodo;Talvez um recurso congelamento até que algunsproblemas (eu suspeito queexistembordasmais ásperasno WP) sãotratadas éem ordem?Of course. You do not want to be responsible for a break you did not even code yourself. But we get new features all the time; maybe a feature freeze until some issues (I suspect there are more rough edges in WP) are handled is in order?
- 0
- 2010-11-16
- Raphael
-
Eu li a discussão sobre o desempenho de diferentespermalinksna lista de discussão WP Hackers,estefórume emtorno do Google.
Eunãopoderia realmente deduzir se aestrutura de Permalink queeuestiver usandonos anospassados éboa ounão:
Essa combinação colocou o PostName diretamente após o/e o ano,omês,a combinação do dia otornamais original,já quemuitospós-nomes carregam omesmonome. A adição HTML é algo quetenho usadonos últimos 10 anosnomeublog (mesmoprewerPress)para que seja legado.
Eunão sei seisso ébomparapermance ou ruimpara o desempenho,comoposso verificarisso?
(eutenhoexecutado oblogpor +10 anose há cerca de 10.000posts commuitos links)
links:
.-
-
-
-
http://codex.wordpress.org/using_permalinks
http://www.google.com/search?q=wordpress+ Categoria + Permalink + Performance
http://ottopress.com/2010/category-in-permalinks-Considered -Harmful/
http://lists.automattic.com/pipermail/wp- hackers/2010-outubro/035458.html