Pasar al contenido principal

¿Qué considerar cuando usa Permissions By Term en Drupal?

Este módulo que permite asignar permisos de acceso por taxonomías en Drupal es una opción más que bienvenida para determinados casos de uso, pues es en esencia un control de acceso liviano y universal, pero...
Ilustración de un caracol en un datacenter.
Ilustración de un caracol en un datacenter.

Texto Equipo Pixel

Sin embargo, en un proyecto reciente tuvimos algunos inconvenientes relacionados con su rendimiento. En principio, cuando el módulo se instala, rescribe los permisos de acceso al contenido, con lo cual ya de entrada añade una tarea exigente especialmente en aquellos sitios con altos volúmenes de nodos. La rescritura de permisos puede ser tan extensa que incluso los procesos por defecto de batch son propensos a errores y a generar indisponibilidades parciales.

Tras este primer escollo sobre viene el principal: el rendimiento. En este caso, más específicamente porque el módulo añade consultas a la base de datos acerca de los permisos cada vez que intenta presentar un contenido o una sección, agregando acciones a de carga al servidor y degradando su Initial Server Response Time

El Initial Server Response Time mide la cantidad de tiempo que se requiere para obtener una respuesta de parte de un servidor Web.

En algunos casos este parámetro se logra quintuplicar o más, pero según las mediciones efectuadas en esta ocasión en particular, el tiempo puede escalar en promedio de 3 a 4 veces, pasando de 0.45s -que ya de por si es apenas aceptable- a más de 1.7s.
Y no es coincidencia, o un error en el método de muestreo, pues al reversar la implementación, los números de este indicador bajan notoriamente sin falta.

Quizás sea la combinación con otros módulos como Domain Access la que perjudica la “liviandad” del módulo, pero sin dudas estas observaciones y su evidente conclusión son una alerta o al menos un punto a considerar para su implementación.