We have a Java application that uses a MariaDB database that is dedicated to this application. The application needs to insert 1 million records within 5mins so ideally we would like the database to support a throughput of 5000 tps. Is there a calculation to work out the IOPS required to support a particular throughput? I am trying to understand the relationship between database tps and IOPS.

  • Although theoretically speaking one could come up with some formula, in real life this question is simply and reliably answered by performance testing. Run you workload for five minutes and measure database logical and physical IO requests and the resulting storage IOPS, you'll have your answer right away. – mustaccio Jul 9 at 16:35
  • Thank you. We will test this but the complexities of working in a large organisation means that we cant do it straight away. I just wanted to get an initial indication of whether the our 5000 tps requirement could be supported by a server that has a max of 2000 IOPS – nitu Jul 10 at 5:52
  • 1 sec / 5000 tps = 0.2 mc You need WAL (write-ahead logging) volume with avg. latency 0.2 mc (seq.write 1 thread) – Igor Jul 11 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.