Configure Java Virtual Machine (JVM) -D startup parameters to tune High-speed Service Framework (HSF) behavior on Enterprise Distributed Application Service (EDAS), including ports, thread pools, timeouts, network bindings, and buffer limits.
Most parameters follow the naming pattern -Dhsf.{component}.{property}. Exceptions such as -Dpandora.qos.port and -DHsfBindHost are noted in the tables below.
Port configuration
When you run multiple HSF providers on the same machine, assign a unique port value to each provider.
| Parameter | Default | Description |
|---|
-Dhsf.server.port | 12200 | TCP port for the HSF service. |
-Dpandora.qos.port | 12201 | Pandora monitoring port. |
-Dhsf.http.port | 12220 | HTTP port exposed by HSF. |
-Dhsf.http.enable | true | Enables or disables the HSF HTTP port. |
Thread pool
| Parameter | Default | Description |
|---|
-Dhsf.server.max.poolsize | 720 | Maximum thread pool size for the HSF provider. Increase this value if concurrent requests frequently saturate the pool. |
-Dhsf.server.min.poolsize | 50 | Minimum thread pool size for the HSF provider. |
Network binding
Use these parameters when the server has multiple network interface cards (NICs) and HSF binds to the wrong address.
| Parameter | Default | Description |
|---|
-Dhsf.server.ip | First NIC | IP address that the HSF provider binds to. By default, HSF binds to the first NIC. Set this parameter to override the default binding. |
-DHsfBindHost | IP of first NIC | Host that the HSF provider binds to and reports to the address registry. For example, -DHsfBindHost=0.0.0.0 binds the HSF server port to all NICs. |
-DHsfBindHost uses PascalCase, unlike other HSF parameters.
Timeout and shutdown
| Parameter | Default | Unit | Description |
|---|
-Dhsf.shuthook.wait | 10000 | ms | Wait time for graceful shutdown. |
-DdefaultHsfClientTimeout | - | - | Global timeout for all HSF consumer-side invocations. |
-Dhsf.invocation.timeout.sensitive | false | - | When set to true, the HSF call duration includes time spent on connection creation and address selection, in addition to the remote call itself. |
Service publishing
| Parameter | Default | Unit | Description |
|---|
-Dhsf.publish.delayed | false | - | When set to true, delays all service publishing. |
-Dhsf.publish.interval | 400 | ms | Interval between consecutive service publications. HSF exposes services immediately upon publishing. Increase this value if the application cannot handle the incoming workload during startup. |
Routing
| Parameter | Default | Description |
|---|
-Dhsf.client.localcall | true | When true, the consumer prefers a provider on the same machine before routing to remote providers. |
-Dhsf.run.mode | 1 | Controls whether the HSF client can make targeted calls that bypass ConfigServer. 1 = targeted calls disabled, 0 = targeted calls enabled. We recommend that you do not set this parameter to 0. |
Write buffer limits
These parameters set the write buffer thresholds (water marks) for each channel. When the buffer exceeds the high water mark, the channel stops accepting writes. Writes resume after the buffer drops below the low water mark.
Set the high and low water marks as a pair. The high water mark must be greater than the low water mark. Consumer and provider water marks are configured independently.
| Parameter | Default | Unit | Description |
|---|
-Dhsf.client.low.water.mark | 32 | KB | Low water mark for each consumer channel. |
-Dhsf.client.high.water.mark | 64 | KB | High water mark for each consumer channel. When the write buffer exceeds this value, new requests are rejected with an error. |
-Dhsf.server.low.water.mark | 32 | KB | Low water mark for each provider channel. |
-Dhsf.server.high.water.mark | 64 | KB | High water mark for each provider channel. When the write buffer exceeds this value, new responses are blocked, causing the consumer to time out. |
Generic invocation
| Parameter | Default | Description |
|---|
-Dhsf.generic.remove.class | Not set | Set to true to exclude the class field from generic call results. |