Anything could help in the insertion rate?

The CRDB stack I am testing has three pods, each with 4 CPUs and 4G memory.
I am now running insert to CRDB very quickly. Each insert contains 1000 records, each record is no more than 256 bytes.
50 threads concurrently submit insert request, each thread submits 10 insert requests per second.

In the beginning, the CRDB throughput can be about 11 rps. Just two hours later the throughput dropped to 0.5 rps.

I restarted all the CRDB pods, the throughput went back to 1.5 rps and kept stable there. What mechanism on CRDB side improved the throughput by restarting pods?

Later I doubled the memory to 8G in each pod, the throughput increased to 2.5 rps.

Anything else could we do to increase the throughput? I would like to hear some suggestions and what could possibly limit the throughput so slow.

For these CRDB settings and same insertion rate. Is the actual throughput two low? What throughput do you expect?

Are your servers backed by SSD or hard drives?

When you say 0.5rps, is that 0.5rps in total, or 0.5rps for each of the 50 threads? (Which would make 25rps across all threads - and with each insert being 1000 records, that’s 25,000 records per second?)

It is SSD.
It is 0.5 rps across all threads which is only 500 records per second.