When to change the default dbms.threads.worker_count parameter?

The documentation only says:

# Number of Neo4j worker threads.
# dbms.threads.worker_count=

In another post I saw that this parameter only works for rest api request. Is that true? If not, I am using Bolt driver, what's the default work count and should I change the default worker_count?

https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/#config_dbms.threads.worker_count which is for 4.2 states

Number of Neo4j worker threads. This setting is only valid for REST, and does not influence bolt-server. It sets the amount of worker threads for the Jetty server used by neo4j-server. This option can be tuned when you plan to execute multiple, concurrent REST requests, with the aim of getting more throughput from the database. Your OS might enforce a lower limit than the maximum value specified here.

so yes REST specific,

What problem are you trying to solve with Bolt? For what Bolt language (C#, python, javascript, java, ????) and version?

1 Like

@dana.canzano It's bolt with Python. I am using Neo4j 4.0.4.

If the client sends concurrent requests to neo4j db for querying, will it automatically handle the requests concurrently for a single neo4j instance? Any parameter that I need to adjust to take care of this?

Also, the documentation mentions this as one example of configuring the connection threads:

dbms.connector.bolt.thread_pool_min_size=10
dbms.connector.bolt.thread_pool_max_size=100
dbms.connector.bolt.thread_pool_keep_alive=10m

I searched them in conf/neo4j.conf file and they are not there. Have those parameters expired or still work if I configure them?

the sample neo4j.conf shipped with neo4j is a default and sample neo4j.conf of many of the more common parameters. it does not include all parameters in the file. if the parameter is not included in the default file that is not an indication of the parameter not being valid

1 Like