Soak testing is used to verify a system's stability and performance characteristics over an extended period of time.
The goal is to validate the system's performance under sustained use and continuous load, and to detect long term issues like memory leaks or database resource utilisation.
A soak test simulates an expected production like load over an extended period of time. To reach that goal you have to consider and define your average load expectations. Depending on your system you also have to consider how long your test should be at least to produce potential long term issues. Also crucial is to define the systems usage in terms of expected user behavior as sessions.
You might also want to make sure that all your test data and your system is prepared for a long term test. Mind things like enough random data, up to date file fixtures or alerts on system monitoring to detect critical failures during the test.