Personally I use JSON.
I have had to send 1600,000 records to the postgresql server, I put together the json (50 - 60 thousand records at a time) and pass it to a function, it receives it and inserts it into the table, the process on the server side is very fast.
When I have many records I use Copy which is much faster.
COPY public.data_load FROM ‘/path/data_migra.csv’ DELIMITER ‘,’ CSV HEADER;
That’s the whole point of the percentages. If you only want to use 3 out of 4 cores, use 75%.
You should also do some tests for diminishing returns, that is, whether more cores is always better. There is always some overhead when using workers and if the start up and tear down take longer than the operation itself, you might as well just use fewer cores and send them to an existing worker.