Running the default workload, causes disk to get filled up causing DB to crash #547
-
Hello, I am running HammerDB with Postgresql to stress test SSDs. We want to run the workload for approximately an year. After schema creation is complete, in the main workload we create different number of virtual users and run workloads for 1.5 hrs before destroying virtual users and then starting with a different VU count. This is configured as an infinite loop as we want to monitor our disks performance over a very long time. However, we notice that the disk soon gets filled up. Ideally we would like to have a 60% read, 30% update and 10% read-modify-write operation. I took a quick look at the pgoltp.tcl file and saw that NEWORD, and PAYMENT workloads have INSERT operations which creates new records and eventually fills up the disk. My driver script is pasted below.
Thanks for your help in advance |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi, The TPC-C workload that TPROC-C is based on is designed to grow during the test. If you look in the specification https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-c_v5.11.0.pdf in section 6.2.3 then this describes how to factor in the growth (although HammerDB is not exactly the same).
Being more specific to check the dynamic tables straight after the build, 831MB of this 2GB is in the dynamic tables.
Then after a 5 min run at 96699 NOPM these tables grew to 1610MB so growth of 779MB for what is a small configuration. (The formula does predict similar growth).
So by default you can run some experiments and predict how much space you will need. For a year it is going to be quite significant. |
Beta Was this translation helpful? Give feedback.
Hi, The TPC-C workload that TPROC-C is based on is designed to grow during the test. If you look in the specification https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-c_v5.11.0.pdf in section 6.2.3 then this describes how to factor in the growth (although HammerDB is not exactly the same).
Firstly, it should be said that with PostgreSQL you will also have WAL files as well as your data, so you should look into the PostgreSQL documentation to manage the WAL.
You are correct that the stored procedures are interdependent, so you shouldn't just comment out SQL and expect everything to work. (I have for example seen workloads do this that end up running SQL that returns no rows found).
…