Desde hace algún tiempo estoy intentando obtener mejoras de rendimiento a nivel de Apache en nuestro sistema y una de estas mejoras pasa por utilizar un RewriteMap.

Para que no tengáis los mismos problemas que yo y os volváis locos cuando al hacer pruebas de stress muchas peticiones salgan erróneas, recordar que hay que usar RewriteLock.

RewriteLock es una directiva que hay que usar a nivel de servidor, es decir, no se puede usar ni en un VirtualHost, ni Directory, ni Location, ni .htaccess y que define un fichero de sincronización cuando Apache se comunica con cualquier programa definido en RewriteMap.

Mi problema fue que al hacer muchas peticiones simultáneamente y no existir un mecanimo que las sincronizase al llamar al programa definido en RewriteMap, los datos obtenidos eran incoherentes, obteniendo tasas de error de hasta un 25%.

Ahora todo va como la seda, ni un sólo error y no hay pérdida de rendimiento apreciable.