Así que, eso fue un paseo... En pruebas nuestra nueva función de Reglas funcionó a las mil maravillas. En prácticano tanto. La mayoría de los servidores (es decir, no el mío) no pueden hacer frente a la carga del conjunto de reglas, incluso si lo dividimos en trozos más pequeños, cuando se procesan varios dispositivos. ¿Qué hacer? ¿Qué hacer? Bueno, hemos dado un pequeño paso atrás. Las reglas siguen existiendo como característica, y siguen funcionando de maravilla. Pero en lugar de insertar 100.000 reglas en la base de datos, las hemos dividido en cuatro archivos distintos y las hemos implementado sólo como código. Por lo tanto, no hay que cargar las 100.000 reglas, decodificar JSON y ejecutarlas contra un dispositivo. Ahora sólo cargamos los archivos y ejecutamos las sentencias. Mucho, mucho más rápido y más eficiente en memoria. No hay carga en MySQL, y por lo tanto la CPU también cae. No hay que poblar un conjunto de registros masivo y por lo tanto la memoria cae. Lo no tan bueno - estos ya no son editables en la GUI. Pero no es el fin del mundo. Todavía se pueden hacer reglas como se quiera y se ejecutarán después de las reglas "por defecto" (las que están en el código), por lo que se pueden anular las reglas "por defecto". Así que no perdemos mucho, pero ganamos MUCHO rendimiento. También hemos añadido unas cuantas reglas nuevas para los modelos de Mac.

Disculpen las molestias que esto haya podido causar a alguien.