diff --git a/load-testing/docker-compose.yml b/load-testing/docker-compose.yml index 58965cb..39c77d8 100644 --- a/load-testing/docker-compose.yml +++ b/load-testing/docker-compose.yml @@ -21,25 +21,25 @@ services: - performance_testing - pyroscope: - container_name: performance_testing_pyroscope - image: grafana/pyroscope:${PYROSCOPE_TAG:-latest} - ports: - - ${PYROSCOPE_PORT:-4040}:4040 - networks: - - performance_testing - # healthcheck: - # test: ["CMD", "wget", "-qO-", "http://pyroscope:4040/ready"] - # interval: 12s - # timeout: 3s - # retries: 20 + # pyroscope: + # container_name: performance_testing_pyroscope + # image: grafana/pyroscope:${PYROSCOPE_TAG:-latest} + # ports: + # - ${PYROSCOPE_PORT:-4040}:4040 + # networks: + # - performance_testing + # # healthcheck: + # # test: ["CMD", "wget", "-qO-", "http://pyroscope:4040/ready"] + # # interval: 12s + # # timeout: 3s + # # retries: 20 grafana: container_name: performance_testing_grafana image: grafana/grafana:${GRAFANA_TAG:-main} environment: - - GF_FEATURE_TOGGLES_ENABLE=flameGraph + # - GF_FEATURE_TOGGLES_ENABLE=flameGraph - GF_SECURITY_ADMIN_USER=${GRAFANA_USER} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PWD} ports: @@ -90,10 +90,11 @@ services: cpus: '0.1' memory: '0.25GB' + load-testing-ldio-workbench-workbench: container_name: performance_testing_ldio-workbench - # image: ldes/ldi-orchestrator:${LDI_ORCHESTRATOR_TAG:-2.9.0-SNAPSHOT} - image: ghcr.io/informatievlaanderen/ldi-orchestrator:20241021180535 + # image: ldes/ldi-orchestrator:${LDI_ORCHESTRATOR_TAG:-2.10.0-SNAPSHOT} + image: ghcr.io/informatievlaanderen/ldi-orchestrator:20241021180535 # TODO: use 2.10 networks: - performance_testing ports: @@ -124,6 +125,7 @@ services: cpus: '0.10' memory: '0.25GB' + ldes-postgres: container_name: performance_testing_ldes-postgres image: postgres:latest @@ -150,6 +152,7 @@ services: cpus: '0.50' memory: '0.5GB' + ldes-server: container_name: performance_testing_ldes-server # image: ghcr.io/informatievlaanderen/ldes-server:latest @@ -157,8 +160,7 @@ services: # image: ldes/ldes-server:${LDES_SERVER_TAG:-2.4.1-SNAPSHOT} # Geomobility # image: ldes/ldes-server:${LDES_SERVER_TAG:-2.10.0-SNAPSHOT} # Telraam # image: ldes/ldes-server:${LDES_SERVER_TAG:-3.4.0-SNAPSHOT} - # image: ldes/ldes-server:${LDES_SERVER_TAG:-3.5.0-SNAPSHOT} - image: ghcr.io/informatievlaanderen/ldes-server:20241031101101 + image: ldes/ldes-server:${LDES_SERVER_TAG:-3.5.0-SNAPSHOT} networks: - performance_testing ports: @@ -185,10 +187,10 @@ services: - LDESSERVER_HOSTNAME=http://ldes-server:${LDES_SERVER_PORT:-8080} - SERVER_PORT=8080 - LDESSERVER_MAINTENANCECRON=- - - PYROSCOPE_AGENT_ENABLED=true - - PYROSCOPE_APPLICATION_NAME=ldes-server - - PYROSCOPE_SERVER_ADDRESS=http://pyroscope:4040 - - PYROSCOPE_FORMAT=jfr + # - PYROSCOPE_AGENT_ENABLED=true + # - PYROSCOPE_APPLICATION_NAME=ldes-server + # - PYROSCOPE_SERVER_ADDRESS=http://pyroscope:4040 + # - PYROSCOPE_FORMAT=jfr deploy: resources: limits: diff --git a/load-testing/server/database.log b/load-testing/server/database.log deleted file mode 100644 index 9c6f902..0000000 --- a/load-testing/server/database.log +++ /dev/null @@ -1,65 +0,0 @@ -2024-11-04 10:19:46.000 UTC [81] LOG: execute : BEGIN READ ONLY -2024-11-04 10:19:46.002 UTC [81] LOG: execute : select * from unprocessed_views -2024-11-04 10:19:46.009 UTC [81] LOG: execute S_2: COMMIT -2024-11-04 10:19:46.062 UTC [82] LOG: execute : BEGIN READ ONLY -2024-11-04 10:19:46.063 UTC [82] LOG: execute : select f1_0.page_id,f1_0.bucket_id,f1_0.expiration,f1_0.immutable,f1_0.next_update_ts,f1_0.partial_url from pages f1_0 where f1_0.partial_url=$1 -2024-11-04 10:19:46.063 UTC [82] DETAIL: Parameters: $1 = '/observations/by-page?pageNumber=1' -2024-11-04 10:19:46.064 UTC [82] LOG: execute : select f1_0.bucket_id,f1_0.bucket,f1_0.view_id from buckets f1_0 where f1_0.bucket_id=$1 -2024-11-04 10:19:46.064 UTC [82] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.073 UTC [82] LOG: execute S_2: COMMIT -2024-11-04 10:19:46.075 UTC [82] LOG: execute : select v1_0.view_id,v1_0.collection_id,e1_0.collection_id,e1_0.is_closed,d1_0.collection_id,d1_0.model,e3_0.collection_id,e3_0.retention_policies,e1_0.name,s1_0.collection_id,s1_0.model,e1_0.skolemization_domain,e1_0.timestamp_path,e1_0.create_versions,e1_0.version_of_path,v1_0.fragmentations,v1_0.name,v1_0.page_size,v1_0.retention_policies from views v1_0 join collections e1_0 on e1_0.collection_id=v1_0.collection_id left join dcat_datasets d1_0 on e1_0.collection_id=d1_0.collection_id left join eventsources e3_0 on e1_0.collection_id=e3_0.collection_id left join shacl_shapes s1_0 on e1_0.collection_id=s1_0.collection_id where v1_0.view_id=$1 -2024-11-04 10:19:46.075 UTC [82] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.077 UTC [82] LOG: execute : SELECT n.nspname = ANY(current_schemas(true)), n.nspname, t.typname FROM pg_catalog.pg_type t JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid WHERE t.oid = $1 -2024-11-04 10:19:46.077 UTC [82] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.079 UTC [82] LOG: execute : SELECT typinput='pg_catalog.array_in'::regproc as is_array, typtype, typname, pg_type.oid FROM pg_catalog.pg_type LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r from pg_namespace as ns join ( select s.r, (current_schemas(false))[s.r] as nspname from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r using ( nspname ) ) as sp ON sp.nspoid = typnamespace WHERE pg_type.oid = $1 ORDER BY sp.r, pg_type.oid DESC -2024-11-04 10:19:46.079 UTC [82] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.088 UTC [82] LOG: execute : select m1_0.member_id,m1_0.collection_id,m1_0.is_in_event_source,m1_0.member_model,m1_0.subject,m1_0.timestamp,m1_0.transaction_id,m1_0.version_of from page_members f1_0 join members m1_0 on m1_0.member_id=f1_0.member_id where f1_0.page_id=$1 -2024-11-04 10:19:46.088 UTC [82] DETAIL: Parameters: $1 = '10002' -2024-11-04 10:19:46.238 UTC [82] LOG: execute : select r1_0.from_page_id,r1_0.to_page_id,t1_0.page_id,b1_0.bucket_id,b1_0.bucket,b1_0.view_id,t1_0.expiration,t1_0.immutable,t1_0.next_update_ts,t1_0.partial_url,r1_0.path,r1_0.relation_type,r1_0.value,r1_0.value_type from page_relations r1_0 left join pages t1_0 on t1_0.page_id=r1_0.to_page_id left join buckets b1_0 on b1_0.bucket_id=t1_0.bucket_id where r1_0.from_page_id=$1 -2024-11-04 10:19:46.238 UTC [82] DETAIL: Parameters: $1 = '10002' -2024-11-04 10:19:46.463 UTC [80] LOG: execute : BEGIN READ ONLY -2024-11-04 10:19:46.464 UTC [80] LOG: execute : select f1_0.page_id,f1_0.bucket_id,f1_0.expiration,f1_0.immutable,f1_0.next_update_ts,f1_0.partial_url from pages f1_0 where f1_0.partial_url=$1 -2024-11-04 10:19:46.464 UTC [80] DETAIL: Parameters: $1 = '/observations/by-page?pageNumber=2' -2024-11-04 10:19:46.464 UTC [80] LOG: execute : select f1_0.bucket_id,f1_0.bucket,f1_0.view_id from buckets f1_0 where f1_0.bucket_id=$1 -2024-11-04 10:19:46.464 UTC [80] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.465 UTC [80] LOG: execute S_2: COMMIT -2024-11-04 10:19:46.466 UTC [80] LOG: execute : select v1_0.view_id,v1_0.collection_id,e1_0.collection_id,e1_0.is_closed,d1_0.collection_id,d1_0.model,e3_0.collection_id,e3_0.retention_policies,e1_0.name,s1_0.collection_id,s1_0.model,e1_0.skolemization_domain,e1_0.timestamp_path,e1_0.create_versions,e1_0.version_of_path,v1_0.fragmentations,v1_0.name,v1_0.page_size,v1_0.retention_policies from views v1_0 join collections e1_0 on e1_0.collection_id=v1_0.collection_id left join dcat_datasets d1_0 on e1_0.collection_id=d1_0.collection_id left join eventsources e3_0 on e1_0.collection_id=e3_0.collection_id left join shacl_shapes s1_0 on e1_0.collection_id=s1_0.collection_id where v1_0.view_id=$1 -2024-11-04 10:19:46.466 UTC [80] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.467 UTC [80] LOG: execute : SELECT n.nspname = ANY(current_schemas(true)), n.nspname, t.typname FROM pg_catalog.pg_type t JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid WHERE t.oid = $1 -2024-11-04 10:19:46.467 UTC [80] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.468 UTC [80] LOG: execute : SELECT typinput='pg_catalog.array_in'::regproc as is_array, typtype, typname, pg_type.oid FROM pg_catalog.pg_type LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r from pg_namespace as ns join ( select s.r, (current_schemas(false))[s.r] as nspname from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r using ( nspname ) ) as sp ON sp.nspoid = typnamespace WHERE pg_type.oid = $1 ORDER BY sp.r, pg_type.oid DESC -2024-11-04 10:19:46.468 UTC [80] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.471 UTC [80] LOG: execute : select m1_0.member_id,m1_0.collection_id,m1_0.is_in_event_source,m1_0.member_model,m1_0.subject,m1_0.timestamp,m1_0.transaction_id,m1_0.version_of from page_members f1_0 join members m1_0 on m1_0.member_id=f1_0.member_id where f1_0.page_id=$1 -2024-11-04 10:19:46.471 UTC [80] DETAIL: Parameters: $1 = '10003' -2024-11-04 10:19:46.605 UTC [80] LOG: execute : select r1_0.from_page_id,r1_0.to_page_id,t1_0.page_id,b1_0.bucket_id,b1_0.bucket,b1_0.view_id,t1_0.expiration,t1_0.immutable,t1_0.next_update_ts,t1_0.partial_url,r1_0.path,r1_0.relation_type,r1_0.value,r1_0.value_type from page_relations r1_0 left join pages t1_0 on t1_0.page_id=r1_0.to_page_id left join buckets b1_0 on b1_0.bucket_id=t1_0.bucket_id where r1_0.from_page_id=$1 -2024-11-04 10:19:46.605 UTC [80] DETAIL: Parameters: $1 = '10003' -2024-11-04 10:19:46.703 UTC [83] LOG: execute : BEGIN READ ONLY -2024-11-04 10:19:46.703 UTC [83] LOG: execute : select f1_0.page_id,f1_0.bucket_id,f1_0.expiration,f1_0.immutable,f1_0.next_update_ts,f1_0.partial_url from pages f1_0 where f1_0.partial_url=$1 -2024-11-04 10:19:46.703 UTC [83] DETAIL: Parameters: $1 = '/observations/by-page?pageNumber=3' -2024-11-04 10:19:46.704 UTC [83] LOG: execute : select f1_0.bucket_id,f1_0.bucket,f1_0.view_id from buckets f1_0 where f1_0.bucket_id=$1 -2024-11-04 10:19:46.704 UTC [83] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.704 UTC [83] LOG: execute S_2: COMMIT -2024-11-04 10:19:46.706 UTC [83] LOG: execute : select v1_0.view_id,v1_0.collection_id,e1_0.collection_id,e1_0.is_closed,d1_0.collection_id,d1_0.model,e3_0.collection_id,e3_0.retention_policies,e1_0.name,s1_0.collection_id,s1_0.model,e1_0.skolemization_domain,e1_0.timestamp_path,e1_0.create_versions,e1_0.version_of_path,v1_0.fragmentations,v1_0.name,v1_0.page_size,v1_0.retention_policies from views v1_0 join collections e1_0 on e1_0.collection_id=v1_0.collection_id left join dcat_datasets d1_0 on e1_0.collection_id=d1_0.collection_id left join eventsources e3_0 on e1_0.collection_id=e3_0.collection_id left join shacl_shapes s1_0 on e1_0.collection_id=s1_0.collection_id where v1_0.view_id=$1 -2024-11-04 10:19:46.706 UTC [83] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.706 UTC [83] LOG: execute : SELECT n.nspname = ANY(current_schemas(true)), n.nspname, t.typname FROM pg_catalog.pg_type t JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid WHERE t.oid = $1 -2024-11-04 10:19:46.706 UTC [83] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.707 UTC [83] LOG: execute : SELECT typinput='pg_catalog.array_in'::regproc as is_array, typtype, typname, pg_type.oid FROM pg_catalog.pg_type LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r from pg_namespace as ns join ( select s.r, (current_schemas(false))[s.r] as nspname from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r using ( nspname ) ) as sp ON sp.nspoid = typnamespace WHERE pg_type.oid = $1 ORDER BY sp.r, pg_type.oid DESC -2024-11-04 10:19:46.707 UTC [83] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.710 UTC [83] LOG: execute : select m1_0.member_id,m1_0.collection_id,m1_0.is_in_event_source,m1_0.member_model,m1_0.subject,m1_0.timestamp,m1_0.transaction_id,m1_0.version_of from page_members f1_0 join members m1_0 on m1_0.member_id=f1_0.member_id where f1_0.page_id=$1 -2024-11-04 10:19:46.710 UTC [83] DETAIL: Parameters: $1 = '10004' -2024-11-04 10:19:46.821 UTC [83] LOG: execute : select r1_0.from_page_id,r1_0.to_page_id,t1_0.page_id,b1_0.bucket_id,b1_0.bucket,b1_0.view_id,t1_0.expiration,t1_0.immutable,t1_0.next_update_ts,t1_0.partial_url,r1_0.path,r1_0.relation_type,r1_0.value,r1_0.value_type from page_relations r1_0 left join pages t1_0 on t1_0.page_id=r1_0.to_page_id left join buckets b1_0 on b1_0.bucket_id=t1_0.bucket_id where r1_0.from_page_id=$1 -2024-11-04 10:19:46.821 UTC [83] DETAIL: Parameters: $1 = '10004' -2024-11-04 10:19:46.912 UTC [81] LOG: execute : BEGIN READ ONLY -2024-11-04 10:19:46.912 UTC [81] LOG: execute : select f1_0.page_id,f1_0.bucket_id,f1_0.expiration,f1_0.immutable,f1_0.next_update_ts,f1_0.partial_url from pages f1_0 where f1_0.partial_url=$1 -2024-11-04 10:19:46.912 UTC [81] DETAIL: Parameters: $1 = '/observations/by-page?pageNumber=4' -2024-11-04 10:19:46.913 UTC [81] LOG: execute : select f1_0.bucket_id,f1_0.bucket,f1_0.view_id from buckets f1_0 where f1_0.bucket_id=$1 -2024-11-04 10:19:46.913 UTC [81] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.913 UTC [81] LOG: execute S_2: COMMIT -2024-11-04 10:19:46.914 UTC [81] LOG: execute : select v1_0.view_id,v1_0.collection_id,e1_0.collection_id,e1_0.is_closed,d1_0.collection_id,d1_0.model,e3_0.collection_id,e3_0.retention_policies,e1_0.name,s1_0.collection_id,s1_0.model,e1_0.skolemization_domain,e1_0.timestamp_path,e1_0.create_versions,e1_0.version_of_path,v1_0.fragmentations,v1_0.name,v1_0.page_size,v1_0.retention_policies from views v1_0 join collections e1_0 on e1_0.collection_id=v1_0.collection_id left join dcat_datasets d1_0 on e1_0.collection_id=d1_0.collection_id left join eventsources e3_0 on e1_0.collection_id=e3_0.collection_id left join shacl_shapes s1_0 on e1_0.collection_id=s1_0.collection_id where v1_0.view_id=$1 -2024-11-04 10:19:46.914 UTC [81] DETAIL: Parameters: $1 = '1' -2024-11-04 10:19:46.915 UTC [81] LOG: execute : SELECT n.nspname = ANY(current_schemas(true)), n.nspname, t.typname FROM pg_catalog.pg_type t JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid WHERE t.oid = $1 -2024-11-04 10:19:46.915 UTC [81] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.916 UTC [81] LOG: execute : SELECT typinput='pg_catalog.array_in'::regproc as is_array, typtype, typname, pg_type.oid FROM pg_catalog.pg_type LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r from pg_namespace as ns join ( select s.r, (current_schemas(false))[s.r] as nspname from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r using ( nspname ) ) as sp ON sp.nspoid = typnamespace WHERE pg_type.oid = $1 ORDER BY sp.r, pg_type.oid DESC -2024-11-04 10:19:46.916 UTC [81] DETAIL: Parameters: $1 = '3802' -2024-11-04 10:19:46.919 UTC [81] LOG: execute : select m1_0.member_id,m1_0.collection_id,m1_0.is_in_event_source,m1_0.member_model,m1_0.subject,m1_0.timestamp,m1_0.transaction_id,m1_0.version_of from page_members f1_0 join members m1_0 on m1_0.member_id=f1_0.member_id where f1_0.page_id=$1 -2024-11-04 10:19:46.919 UTC [81] DETAIL: Parameters: $1 = '10005'