Sé que hay muchas cosas positivas que mod-rewrite logra. Pero hay algo negativo? Obviamente si tienes reglas mal escritas vas a tener problemas. Pero, ¿qué pasa si tienes un sitio de alto volumen y estás constantemente usando mod-rewrite, va a tener un impacto significativo en el rendimiento? Hice una búsqueda rápida de algunos puntos de referencia en Google y no encontré mucho.¿Algún impacto negativo al usar Mod-Rewrite?
Respuesta
He usado mod_rewrite en sitios que obtienen millones/hits/mes sin ningún problema de rendimiento significativo. Debes saber qué reescrituras se aplican primero según tus reglas.
El uso de mod_rewrite es más probable que el análisis de la URL con su idioma actual.
Si realmente está preocupado por el rendimiento, no use los archivos .htaccess
, que son lentos. Coloque todas las reglas de reescritura en su configuración de Apache, que solo se lee una vez al inicio. Los archivos .htaccess
se vuelven a analizar en cada solicitud, junto con cada.htaccess
archivo en las carpetas principales.
Si le preocupa el rendimiento de apache, una cosa a considerar si tiene muchas reglas de reescritura es utilizar el indicador "omitir". Es una forma de saltarse la coincidencia en las reglas. Por lo tanto, cualquier gasto adicional que se haya gastado en la coincidencia se guarda.
Sin embargo, era un proyecto que utilizaba mucho el indicador "omitir", y hacía que el mantenimiento fuera doloroso, ya que depende del orden en que se escriben las cosas en el archivo.
Puede ser mejor utilizar la bandera [L] (que indica que las reglas * todas * se deben omitir si la actual coincide) en algunas circunstancias, ¿no? –
Y marca "END" si para evitar .htaccess en subdirectorios/nueva localización – 18C
Para repetir lo que dice Ryan anteriormente, las reglas en un .htaccess
realmente pueden dañar los 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 tiempo hasta que nuestros servidores comenzaron a fumar :)
La desventaja obvia de tener las reglas en su configuración es que tiene que volver a cargar la configuración cada vez que modifique su reglas.
La última bandera ("L") es útil para acelerar la ejecución de sus reglas, una vez que las reglas de acceso más frecuente están hacia la parte superior y se evalúan primero. Puede hacer que el mantenimiento sea mucho más complicado si tienes un conjunto largo de reglas: una mañana desperdicié un par de horas muy frustrantes mientras editaba a mitad de mi lista de reglas y tenía una arriba que estaba atrapando más de ¡destinado a!
Tuvimos dificultades para encontrar puntos de referencia relevantes también, y terminamos resolviendo nuestro propio conjunto interno de pruebas. Una vez que obtuvimos nuestras reglas resueltas, correctamente ordenadas y en nuestro conf Apache, no encontramos mucho impacto negativo en el rendimiento.
- 1. ¿Tiene algún impacto en el rendimiento de Oracle al usar LIKE 'cadena' vs = 'cadena'?
- 2. UILabel layer cornerRadius tiene un impacto negativo en el rendimiento
- 3. ¿Algún riesgo al usar Macports?
- 4. ¿Existe algún riesgo al usar @ Html.Raw?
- 5. ¿Por qué la reutilización de un DataContext tendría un impacto negativo en el rendimiento?
- 6. ¿Los espacios en su URL (% 20) tienen un impacto negativo en SEO?
- 7. ¿Hay algún beneficio al usar una declaración de devolución que no devuelve nada?
- 8. ¿Hay algún beneficio al usar HtmlHelper en MVC?
- 9. ¿Hay algún beneficio al usar SecureString en ASP.NET?
- 10. ¿Hay algún impacto en el rendimiento en el uso de Live en lugar de vincular jQuery?
- 11. Impacto SEO usando URL hash?
- 12. Infinito negativo en Lisp
- 13. SQL DataType Decimal negativo
- 14. ¿El tamaño declarado de un campo varchar tiene algún impacto en PostgreSQL?
- 15. ¿Hay algún beneficio real de usar J #?
- 16. ¿Producir flotación aleatoria del rango negativo al positivo?
- 17. Ruby: ¿Cambiar el número negativo al número positivo?
- 18. Tamaño grande de Permgen + impacto en el rendimiento
- 19. ¿Algún tutorial sobre cómo usar phpDocumentor?
- 20. Reflejo de Java: impacto de setAccessible (verdadero)
- 21. Impacto del rendimiento de la herencia virtual
- 22. ¿Hay algún problema con "usar diagnósticos"?
- 23. ¿Hay algún tutorial/guía para usar Firebug?
- 24. almacenando valor negativo en mysql
- 25. Impacto de rendimiento de -fno-strict-aliasing
- 26. Impacto de las URL multilingües en SEO
- 27. Estadísticas del impacto positivo de TDD/BDD
- 28. jstl cero negativo
- 29. expresión regular lookahead negativo
- 30. ¿EOF siempre es negativo?
Buena respuesta, pero debo señalar que * los archivos * enable * .htaccess es el problema, no tanto el uso de ellos. Si no los deshabilita por completo, aún tendrá el hit de estadísticas para cada segmento de ruta, incluso si no tiene un solo archivo .htaccess en ninguna parte. –
Deshabilita .htaccess usando 'AllowOverride None'. – NateS