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.