{ "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" } ] }