Pregunta

Sé que hay muchas cosas positivas que logra la reescritura mod.¿Pero hay algo negativo?Obviamente si tienes reglas mal escritas vas a tener problemas.Pero, ¿qué pasa si tienes un sitio de gran volumen y utilizas constantemente la reescritura de mods? ¿Tendrá esto un impacto significativo en el rendimiento?Hice una búsqueda rápida de algunos puntos de referencia en Google y no encontré mucho.

¿Fue útil?

Solución

He usado mod_rewrite en sitios que obtienen millones de visitas al mes sin ningún problema de rendimiento significativo.Debe saber qué reescrituras se aplican primero según sus reglas.

Usar mod_rewrite probablemente sea más rápido que analizar la URL con su idioma actual.

Si realmente le preocupa el rendimiento, no utilice .htaccess archivos, esos son lentos.Coloque todas sus reglas de reescritura en su configuración de Apache, que solo se lee una vez al inicio. .htaccess Los archivos se vuelven a analizar en cada solicitud, junto con cada .htaccess archivo en las carpetas principales.

Otros consejos

Para hacer eco de lo que Ryan dice arriba, las reglas en un .htaccess realmente puede afectar sus tiempos de carga en un sitio ocupado en comparación con tener las reglas en su archivo de configuración.Inicialmente probamos esto (~60 millones de páginas/mes) pero no duró mucho hasta que nuestros servidores empezaron a fumar :)

La desventaja obvia de tener las reglas en su configuración es que debe recargar la configuración cada vez que modifica sus reglas.

La última bandera ("L") es útil para acelerar la ejecución de sus reglas, una vez que las reglas a las que accede con más frecuencia están en la parte superior y se evalúan primero.Sin embargo, puede hacer que el mantenimiento sea mucho más complicado si tienes un conjunto de reglas largo: una mañana desperdicié un par de horas muy frustrantes mientras estaba editando la mitad de mi lista de reglas y tenía una en la parte superior que atrapaba a más de ¡destinado!

También tuvimos dificultades para encontrar puntos de referencia relevantes y terminamos elaborando nuestro propio conjunto interno de pruebas.Una vez que resolvimos nuestras reglas, las ordenamos adecuadamente y las incorporamos a nuestra configuración de Apache, no encontramos mucho impacto negativo en el rendimiento.

Si le preocupa el rendimiento de Apache, una cosa que debe considerar si tiene muchas reglas de reescritura es utilizar la opción "omitir".Es una forma de omitir la coincidencia de reglas.Por lo tanto, se ahorra cualquier gasto general que se hubiera gastado en la comparación.

Sin embargo, tenga cuidado, estaba en un proyecto que utilizaba mucho el indicador "omitir" y hacía que el mantenimiento fuera complicado, ya que depende del orden en que se escriben las cosas en el archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top