If you have to use a smaller system for testing, try to have components identical to the production system, such as operating system level, drivers, and disk types.
You need to make adjustments when you have less disk space or memory in the test system. Scale down databases proportionally, while retaining the same data distributions so optimizer decisions remain constant. Scale down memory to ensure consistent I/O rates.
Reproduce data layout across available devices as closely as possible.
If you use fewer CPUs, adjust transaction arrival rates (that is, load) and concurrent users proportionally.