Buenos días,

 

Efectivamente el tamaño de la base de datos esta en unos 2 G

 

-rw-r--r--  1 nobody nobody                 139264 Jun 25 14:12 PAPIAuthenCookies.dir

-rw-r--r--  1 nobody nobody       2131379200 Jun 25 14:52 PAPIAuthenCookies.pag

-rw-r--r--  1 nobody nobody                            0 Jun 25 14:52 PAPIAuthenCookies.lock

 

Según lo que comentáis, vamos a borrar el fichero. Ya os comento si esto soluciona el problema.

 

Gracias y un saludo.

 

De: The PAPI authentication and authorization framework [mailto:[log in para visualizar]] En nombre de Luis Melendez
Enviado el: miércoles, 25 de junio de 2014 14:04
Para: [log in para visualizar]
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola,


On 06/25/2014 01:36 PM, José Manuel Macías wrote:

El 25/06/14 12:08, "Borrego López, Luis Javier" escribió:

Gracias por el apunte, efectivamente nuestro Linux es de 32 bits, hemos ejecutado el script de prueba y nos da justo el fallo que aparece en el ticket

 

069 - 128

sdbm store returned -1, errno 22, key "E?" at 24206.pl line 22.

 

El problema cual sería ¿que la base de datos ha llegado a 2 G de tamaño?


No estoy seguro de que sea esto... pero si lo es...

¿estás a la última versión de los módulos perl que puedan estar implicados? ¿podría haber alguna opción de (re)compilar el módulo o módulos para que se permitieran tamaños mayores? (no puedo orientarte ahí, pero he tenido problemas similares con algún módulo perl que se solucionaron añadiendo una simple opción al gcc)

¿Qué es lo que se almacena en esta base de datos?


Entiendo que son claves de sesión que probablemente puedan expirarse. De no ser que tengáis un uso muy grande de vuestro servicio y ello provoque un tamaño tan grande, podrías purgar de vez en cuando imagino.

¿se podría limpiar de alguna forma la Base de datos, o compactarla de alguna forma o tendríamos forzosamente que migrar a un Linux de 64 bit?

Habría que ver qué pares clave/valor almacenan... no se si Luis Melendez podría decirte mejor, si ha utilizado este backend.

Otra posibilidad quizá sea cambiar de backend...


Yo veo raro que esa base de datos haya crecido tanto. La mia, aunque tenga menos usuarios, lleva algunos años sin purgarse y tiene un tamaño de poco más de 130Mb (en realidad ocupa en disco algo menos de 4 Mb porque son ficheros sparse). Si lo que tienes es un AuthServer normal, suele meter menos de 100 bytes por cada usuario que se autentica.

Si no sabes dónde está esa base de datos, mira en la configuración del AS (suele ser /usr/lib/cgi-bin/AuthServer.cf o algo así dependiendo de la distribución de Linux que uses), en la variable 'authCookieDB'. En realidad son tres ficheros. Por ejemplo, en mi caso:

$$cfg{authCookieDB} = '/usr/local/PAPI/AS/etc/PAPIAuthenCookies';

# ls -al /usr/local/PAPI/AS/etc/PAPIAuthenCookies*
-rw-r--r-- 1 www-data www-data     12288 2014-04-07 16:01 /usr/local/PAPI/AS/etc/PAPIAuthenCookies.dir
-rw-r--r-- 1 www-data www-data         0 2014-06-25 12:09 /usr/local/PAPI/AS/etc/PAPIAuthenCookies.lock
-rw-r--r-- 1 www-data www-data 134038528 2014-06-25 12:09 /usr/local/PAPI/AS/etc/PAPIAuthenCookies.pag


Si realmente tuviera un tamaño tan enorme, se puede borrar tranquilamente, aunque harás perder la sesión con el AS a quien se haya autenticado ya. Creo que no se puede purgar porque en sus registros no figura la fecha-hora para eliminar los antiguos.

Otra posibilidad: ¿No tendrás el disco lleno?

Un saludo