|
| 1 | +--- |
| 2 | +services: |
| 3 | + neurow-load-test: |
| 4 | + image: neurow-load-test:latest |
| 5 | + container_name: neurow-load-test |
| 6 | + ports: |
| 7 | + - "2999:2999" |
| 8 | + environment: |
| 9 | + # Logging |
| 10 | + - LOG_LEVEL=debug # Log level: debug, info, warning, error (default: info) |
| 11 | + |
| 12 | + # Server |
| 13 | + - PORT=2999 # HTTP server port for metrics endpoint (default: 2999) |
| 14 | + - NB_USER=1 # Number of concurrent users/connections to simulate (default: 1) |
| 15 | + |
| 16 | + # SSE Connection Configuration |
| 17 | + #- SSE_URL=http://sse-gateway:4000/v1/subscribe # SSE endpoint URL (default: http://localhost:4000/v1/subscribe) |
| 18 | + #- SSE_URL=http://neurow:5000/v1/subscribe # To test Neurow instead |
| 19 | + - SSE_URL= # staging |
| 20 | + - SSE_TIMEOUT=900000 # SSE connection timeout in milliseconds (default: 900000 = 15 minutes) |
| 21 | + - SSE_AUTO_RECONNECT=false # Auto-reconnect on SSE disconnection (default: false) |
| 22 | + # - SSE_USER_AGENT=neurow_load_test/1.0 # User-Agent header for SSE requests (default: neurow_load_test/1.0) |
| 23 | + |
| 24 | + # SSE JWT Authentication |
| 25 | + - SSE_JWT_EXPIRATION=86400 # JWT token expiration in seconds (default: 86400 = 24 hours) |
| 26 | + - SSE_JWT_ISSUER=test_issuer1 # JWT issuer claim (default: test_issuer1) |
| 27 | + - SSE_JWT_SECRET=966KljJz--KyzyBnMOrFXfAkq9XMqWwPgdBV3cKTxsc # JWT signing secret (must match neurow) |
| 28 | + - SSE_JWT_AUDIENCE=neurow # JWT audience claim (must match neurow service_name) |
| 29 | + |
| 30 | + # Publish Configuration |
| 31 | + #- PUBLISH_URL=http://sse-gateway:3000/v1/publish # Publish endpoint URL (default: http://localhost:3000/v1/publish) |
| 32 | + #- PUBLISH_URL=http://neurow:6000/v1/publish # To test Neurow instea |
| 33 | + - PUBLISH_URL= #staging |
| 34 | + - PUBLISH_TIMEOUT=5000 # Publish HTTP request timeout in milliseconds (default: 5000) |
| 35 | + - PUBLISH_HTTP_POOL_SIZE=10000 # HTTP connection pool size for publishing (must be >= NB_USER) |
| 36 | + - PUBLISH_JWT_ISSUER=test_issuer1 # JWT issuer for publish requests (default: test_issuer1) |
| 37 | + - PUBLISH_JWT_SECRET=966KljJz--KyzyBnMOrFXfAkq9XMqWwPgdBV3cKTxsc # JWT signing secret (must match neurow) |
| 38 | + - PUBLISH_JWT_AUDIENCE=neurow # JWT audience for publish requests (must match neurow service_name) |
| 39 | + |
| 40 | + # Load Test Behavior |
| 41 | + - DELAY_BETWEEN_MESSAGES_MIN=500 # Minimum delay between published messages in milliseconds (default: 500) |
| 42 | + - DELAY_BETWEEN_MESSAGES_MAX=5000 # Maximum delay between published messages in milliseconds (default: 5000) |
| 43 | + - NUMBER_OF_MESSAGES_MIN=10 # Minimum number of messages to publish per user (default: 10) |
| 44 | + - NUMBER_OF_MESSAGES_MAX=50 # Maximum number of messages to publish per user (default: 50) |
| 45 | + - INITIAL_DELAY_MAX=15000 # Maximum initial delay before starting to publish in milliseconds (default: 5000) |
| 46 | + restart: unless-stopped |
| 47 | + |
0 commit comments