Question

Je sais qu'il y a beaucoup de choses positives que la réécriture de mod accomplit.Mais y a-t-il des points négatifs ?Évidemment, si vous avez des règles mal écrites, vous allez avoir des problèmes.Mais que se passe-t-il si vous avez un site à volume élevé et que vous utilisez constamment la réécriture de mod, cela va-t-il avoir un impact significatif sur les performances ?J'ai fait une recherche rapide de quelques benchmarks sur Google et je n'ai pas trouvé grand chose.

Était-ce utile?

La solution

J'ai utilisé mod_rewrite sur des sites qui obtiennent des millions/clics/mois sans aucun problème de performances significatif.Vous devez savoir quelles réécritures sont appliquées en premier en fonction de vos règles.

L'utilisation de mod_rewrite est probablement plus rapide que l'analyse de l'URL avec votre langue actuelle.

Si vous êtes vraiment préoccupé par les performances, n'utilisez pas .htaccess fichiers, ceux-ci sont lents.Mettez toutes vos règles de réécriture dans votre configuration Apache, qui n'est lue qu'une seule fois au démarrage. .htaccess les fichiers sont réanalysés à chaque demande, ainsi que chaque .htaccess fichier dans les dossiers parents.

Autres conseils

Pour faire écho à ce que Ryan dit ci-dessus, les règles .htaccess peut vraiment nuire à vos temps de chargement sur un site occupé par rapport au fait d'avoir les règles dans votre fichier de configuration.Nous avons d'abord essayé cela (~60 millions de pages/mois), mais cela n'a pas duré très longtemps jusqu'à ce que nos serveurs commencent à fumer :)

L'inconvénient évident d'avoir les règles dans votre configuration est que vous devez recharger la configuration chaque fois que vous modifiez vos règles.

Le dernier indicateur ("L") est utile pour accélérer l'exécution de vos règles, une fois que vos règles les plus fréquemment consultées sont en haut et évaluées en premier.Cependant, cela peut rendre la maintenance beaucoup plus délicate si vous avez un long ensemble de règles - j'ai perdu quelques heures très frustrantes un matin alors que j'éditais à mi-chemin de ma liste de règles et j'en avais une en haut qui piégeait plus de destiné!

Nous avons également eu du mal à trouver des références pertinentes et avons fini par élaborer notre propre suite de tests internes.Une fois nos règles triées, correctement ordonnées et intégrées à notre configuration Apache, nous n'avons pas trouvé beaucoup d'impact négatif sur les performances.

Si vous êtes préoccupé par les performances d'Apache, une chose à considérer si vous avez beaucoup de règles de réécriture est d'utiliser l'indicateur "skip".C'est un moyen d'éviter la correspondance sur les règles.Ainsi, les frais généraux qui auraient été consacrés à la correspondance sont économisés.

Attention cependant, j'étais sur un projet qui utilisait beaucoup le flag "skip", et cela rendait la maintenance pénible, puisque cela dépend de l'ordre dans lequel les choses sont écrites dans le fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top