Prestazioni della mia struttura permalink?


14

Ho letto la discussione sull'esecuzione di diversi permalink nella mailing list di hacker wp, QUESTO forum e nei dintorni di Google.

Tuttavia non potrei davvero dedurre se la struttura del permalink che ho usato negli anni passati è buona o no:

/%postname%-%year%%monthnum%%day%.html

Questa combinazione inserisce il postname direttamente dopo / e la combinazione di anno, mese, giorno lo rende più unico poiché molti nomi di post portano lo stesso nome. L'aggiunta html è qualcosa che ho usato negli ultimi 10 anni sul mio blog (anche pre-wordpress), quindi è un'eredità.

Non so se questo è buono per permance o cattivo per le prestazioni, come posso controllare questo?

(Gestisco il blog da +10 anni e ci sono circa 10.000 post con molti link in)

links:

  1. http://codex.wordpress.org/Using_Permalinks

  2. http://www.google.com/search?q=wordpress+category+permalink+performance

  3. http://ottopress.com/2010/category-in-permalinks-considered-harmful/

  4. http://lists.automattic.com/pipermail/wp-hackers/2010-October/035458.html

Risposte:


8

È possibile verificare osservando la dimensione dell'opzione rewrite_rules nel database. Se è piccolo (che credo dovrebbe avere con questa struttura), non stai usando regole dettagliate. Al contrario, se vedi più righe per pagina statica, stai usando regole dettagliate e non va bene.


purtroppo ... ci sono diverse righe per pagina statica GRIN. Quindi questa probabilmente non è una buona struttura permalink ... hmmmm ... questo spiega un messaggio di errore che ho ricevuto tempo fa "Errore del database di WordPress Ho un pacchetto più grande di" max_allowed_packet ", ho dovuto aumentare questa impostazione in MySql.
Edelwater,

poi di nuovo ... se continui ad aggiungere pagine per anni otterrai automaticamente max_allowed_packet qualunque cosa ... a meno che non torni a permalink non piuttosto carini ... (penso) quindi ... per essere scalabile per i prossimi 30 anni: ) Probabilmente dovrò tornare a permalink non piuttosto belli. Penso.
Edelwater,

1
Fintanto che stai usando regole non dettagliate, la tua pagina, l'allegato e le regole personalizzate per il tipo di post sono generiche. Quindi i link carini sono abbastanza sicuri nella pratica, purché utilizzino una struttura non dettagliata.
Denis de Bernardy,

1

Veto la risposta accettata. La complessità delle regole di riscrittura non è in alcun modo una misura per l'esecuzione della ricerca di articoli.

In particolare, sembra che iniziare i permalink con i nomi dei post sia sbagliato; vedi http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Senza aver esaminato il codice di Wordpress, posso immaginare che in qualche modo indicizzino i post gerarchicamente. Pertanto, le variabili utilizzate nei permalink devono essere ordinate da sinistra a destra dalla variabile più generale alla più specifica post utilizzata. Questa euristica favorisce fortemente gli standard anno / mese / nome o categoria / nome.


1
category/nameè effettivamente noto e confermato come causa di problemi di prestazioni se è presente una grande quantità di pagine. Non è tanto legato alla velocità di ricerca quanto alla deduzione dell'oggetto corretto da servire e la complessità delle regole di riscrittura è completamente rilevante.
Rarst

Puoi fornire un riferimento a doc / codice per favore? Ho appena sfogliato il codice (wp-include/rewrite.phpe wp-include/query.php); mentre sembra davvero orribile e inutilmente complicato, sembra che sostanzialmente le parti vengano raccolte e identificate e quindi inserite direttamente nelle query SQL. Non riesco ancora a capire perché questo dovrebbe richiedere più tempo per diversi ordini. Ma quando viene eseguita la query db, devono essere eseguiti diversi join e qui l' ordine conta davvero. Mi sembra di ricordare che MySQL non sia particolarmente bravo nell'ottimizzare l'ordine dei join.
Raffaello

Non sono troppo approfondito nella teoria del DB, ma devi mantenere piccoli i prodotti. In ogni caso, questo potrebbe essere un bug, nel senso che è programmato in modo non efficiente come potrebbe essere.
Raffaello,

2
il Codice dà "Alcuni SUGGERIMENTI" (vedi Codex) e non specifica l'algoritmo completo. Indica comunque ottopress.com/2010/category-in-permalinks-considered-harmful e comox.textdrive.com/pipermail/wp-testers/2009-January/… tutto sommato c'è una sorta di attrito tra le migliori pratiche della pirateria informatica nel campo dell'interazione con il computer umano e delle prestazioni nel campo del miglioramento delle prestazioni.
edelwater,

1
Grazie per il puntatore ottopress. Si rallegra del fatto che cambiando le convenzioni in modo che ogni URL di pagina inizi con /page/e ogni URL di post con /post/, rimuovendo l'ambiguità. Dovresti essere in grado di farlo da solo, aggiungendo il testo fisso alla struttura del permalink. Questa sarebbe probabilmente una buona decisione, comunque; cosa succede se ho un post BAR nella categoria FOO e una pagina BAR che è una sottopagina di FOO? Entrambi verrebbero affrontati /foo/bar/ipotizzando lo schema% category% /% postname%. O le lumache sono globalmente uniche?
Raffaello

0

Solo per il QA del flusso di lavoro:

La risposta è: NO, questa non è una buona struttura permalink per quanto riguarda le prestazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.