semillero-INVIMA/benchmarks/config.json

69 lines
2.2 KiB
JSON

{
"description": "Configuracion reproducible para pruebas de rendimiento del catalogo INVIMA.",
"warmupRepetitions": 5,
"measuredRepetitions": 100,
"concurrencyLevels": [1, 5, 10, 25, 50],
"concurrencyRequestsPerLevel": 100,
"statementTimeoutMs": 120000,
"httpTimeoutMs": 120000,
"outputPrecisionDigits": 4,
"queries": [
{
"id": "query_01",
"name": "COUNT total de invima_api_catalog",
"group": "estructurada",
"sqlFile": "queries/query_01.sql",
"endpoint": "GET /api/invima/sync/stats",
"expectedRowsKind": "single_row_count"
},
{
"id": "query_02",
"name": "Catalogo general paginado LIMIT 25",
"group": "estructurada",
"sqlFile": "queries/query_02.sql",
"endpoint": "GET /api/invima/catalogo?limit=25&offset=0",
"expectedRowsKind": "page"
},
{
"id": "query_03",
"name": "Conteo de dispositivos",
"group": "estructurada",
"sqlFile": "queries/query_03.sql",
"endpoint": "SQL directo de evaluacion",
"expectedRowsKind": "single_row_count"
},
{
"id": "query_04",
"name": "Conteo de dispositivos vigentes",
"group": "estructurada",
"sqlFile": "queries/query_04.sql",
"endpoint": "SQL directo de evaluacion",
"expectedRowsKind": "single_row_count"
},
{
"id": "query_05",
"name": "Filtro dispositivos vigentes LIMIT 25",
"group": "estructurada",
"sqlFile": "queries/query_05.sql",
"endpoint": "GET /api/invima/catalogo?datasets=dispositivos&onlyVigentes=true&limit=25&offset=0",
"expectedRowsKind": "page"
},
{
"id": "query_06",
"name": "Busqueda textual real del backend para marcapasos LIMIT 25",
"group": "busqueda_textual",
"sqlFile": "queries/query_06.sql",
"endpoint": "GET /api/invima/catalogo?q=marcapasos&limit=25&offset=0",
"expectedRowsKind": "page"
},
{
"id": "query_07",
"name": "Conteo de busqueda textual real para marcapasos",
"group": "busqueda_textual",
"sqlFile": "queries/query_07.sql",
"endpoint": "GET /api/invima/catalogo?q=marcapasos&limit=25&offset=0 ejecuta conteo interno",
"expectedRowsKind": "single_row_count"
}
]
}