searchAnalytics buildTermIndex

Prueba de Rendimiento con Logs de Servidor Masivos

Scénario de test & Cas d'usage

Contexto empresarial

El equipo de operaciones de TI desea analizar patrones en los logs de sus servidores web. Necesitan generar un índice de términos sobre una gran cantidad de mensajes de error generados automáticamente para identificar rápidamente los códigos de error más frecuentes y las advertencias críticas. Este escenario prueba la capacidad de la acción para manejar un volumen alto de filas generadas sintéticamente.
Sobre el conjunto : searchAnalytics

Indexación de datos y funcionalidades de búsqueda.

Descubrir todas las acciones de searchAnalytics
Preparación de datos

Generación sintética de 50,000 entradas de log simulando errores de servidor.

¡Copiado!
1 
2DATA casuser.logs_servidor;
3LENGTH id_log 8 mensaje $100;
4DO i=1 to 50000;
5id_log=i;
6IF mod(i, 3)=0 THEN mensaje='Error 500: Fallo interno del servidor en el módulo de pago';
7ELSE IF mod(i, 5)=0 THEN mensaje='Warning: Tiempo de espera agotado en conexión DB';
8ELSE mensaje='Info: Operación realizada con éxito por el usuario';
9OUTPUT;
10END;
11 
12RUN;
13 

Étapes de réalisation

1
Ejecución de buildTermIndex con configuración predeterminada (UNIVERSAL, sin tokenización explícita) para evaluar rendimiento bruto.
¡Copiado!
1 
2PROC CAS;
3searchAnalytics.buildTermIndex / TABLE={name='logs_servidor', caslib='casuser'}, casOut={name='indice_logs_volumen', caslib='casuser', replace=true};
4 
5RUN;
6 
2
Verificación del tamaño y contenido del índice resultante.
¡Copiado!
1 
2PROC CAS;
3TABLE.tableDetails / name='indice_logs_volumen', caslib='casuser';
4TABLE.fetch / TABLE={name='indice_logs_volumen', caslib='casuser'}, to=10;
5 
6RUN;
7 

Resultado esperado


La acción debe completarse sin errores de memoria. La tabla de salida 'indice_logs_volumen' debe resumir las 50,000 filas en un conjunto mucho más pequeño de entradas únicas (dada la repetición de los mensajes), demostrando la eficiencia de compresión del índice.