Every component in your server plays a big role in your server's performance. Server RAM, or server memory, is no exception to it. Generally, people know that more RAM is better, but picking the right server RAM is not as straightforward as that. Let's take a look at what you need to consider when choosing the right memory for your server.
How Much RAM Do You Need?
The more RAM a server has, the less the CPU must read data from the hard disk drive. This means your server may run more quickly since server RAM generally works much faster than a hard disk drive. But how much server memory is enough?
To figure out this question, there is a major difference between the "minimum requirements" and the "suggested requirements". The minimum requirements may be easy to meet, but it is certainly not the ideal solution to improve the run-time and efficiency of your server.
An ideal setup will vary depending on the unique business needs and intended server usage. To determine how much server memory is ideal, you need to consider a couple of aspects such as the size of the databases in use, the number of users, and the existing infrastructure in place.
Size of Databases
This is generally the most important consideration because it directly impacts how much processing is needed to fill the databases with information. As data size grows, memory doesn't always grow.
For servers with a 10-59GB database, RAM size is 74% of the data (27GB database needs 20GB RAM). For 60-224GB database, RAM size is 23% (210GB data needs 48GB RAM). For 225-600GB database, RAM size is 13% (example: 488GB data, 64GB RAM).
Number of Users
If the number of users that you are currently serving is 15 or less, there is probably no need to take extra memory per user into consideration. However, when more than 15 concurrent users are likely to be using your service, you may want to consider adding 1-2 GB of server RAM for every 5 additional users.
Execution Packages
Generally, if your data updates are required every 30 minutes, you will need to have more server memory to achieve it. If your data updates take hours to complete, the memory requirements are lower.
However, SQL Server ETL transformations will load the data into your server RAM before processing it. This means that the more server memory your server is equipped with, the faster it will complete execution packages.
OS Requirements
A good rule of thumb is to reserve 1 GB of RAM for the OS by default, plus an additional 1 GB for each 4 GB between 4-16 and another 1 GB for every 8 GB installed above 16 GB. For example, a server with 32 GB RAM uses 7 GB for the OS and the remaining 25 GB dedicated to the SQL server.
RAM Speed
As mentioned above, server memory speed is crucial to your server's performance. However, RAM speed is a bit of a misnomer. How fast your server RAM performs is actually dependent on several factors such as the frequency, latency, bandwidth, total number of channels, dual data rate (DDR), etc. When people talk about RAM speed, they are actually referring to the frequency and latency of the server RAM. In our discussion here, we’ll do the same.
Frequency
RAM frequency is measured in MHz and usually immediately follows the DDR version in the RAM specifications. For example, DDR4-3200 RAM runs at a frequency of 3200MHz, while DDR3-1600 RAM has a frequency of 1600MHz.
So what is RAM frequency? Your server memory is constantly doing reading and writing cycles with your data currently loaded. RAM frequency refers to how many times per second the memory is going through that cycle. DDR4-3200 refers to a 3200MHz frequency cycle, which translates to about 3.2 billion read/write cycles per second.
Generally speaking, a higher frequency is better. The higher the RAM frequency is, the faster the memory can process data. But note that some CPUs and motherboards may not support some frequencies effectively. Additional research is needed if you’re looking to maximize your performance. Moreover, the price for high-frequency RAM tends to be higher.
Latency
Latency, known as Column Access Strobe latency or CAS latency, refers to a measurement of the delay between when your RAM modules receive a command from the CPU and when the command is actually executed. CAS Latency is measured in clock cycles.
Typically, latency may not be written directly on your server RAM. Instead, it might be mentioned within a series of numbers that are printed on your server RAM. Basically, lower numbers are better. The lower the number, the lower the latency and, hence, the better the performance. Of course, this is assuming that all other parameters such as RAM frequency remain the same.
RAM Compatibility Issues
Not all server RAM is compatible with every system. Here is a list of things to consider when considering server RAM's compatibility with other components in a network server.
DDR Generation
A newer generation of DDR RAM will not work with motherboards that are built to support the older generation and vice versa. Therefore, you can’t put DDR3 server memory in a motherboard that supports DDR4 DIMM slots. Likewise, you can’t put DDR4 server memory in a motherboard with DDR3 DIMM slots.
Motherboard DIMM Slots
Some smaller form-factor motherboards only come with two DIMM slots. Thus you can only have a maximum of two sticks of server RAM, and you can’t put a 4x 4GB kit of server memory in them. So you should make sure you’re not buying more server memory sticks than your server motherboard can hold.
CPU Heatsink
Big bulky air CPU coolers can often hang over DIMM slots. In some instances, they can prevent server memory kits with tall heat spreaders from being installed. So, if you are considering a big bulky air cooler, you'd better make sure that you choose server RAM that has tall heat spreaders. In this case, your air cooler will not interfere with your server RAM.
Memory Technologies
There are three main memory technologies available today: UDIMM (Unbuffered DIMM), RDIMM (Registered DIMM), and LRDIMM (Load Reduced DIMM). Even though these three memory technologies fit physically in your server memory slot, they cannot be mixed and doing so. If the wrong memory technology is deployed, the system might power on, but it will lead to system boot failure.
RAM is Easy to Upgrade
Usually, server RAM is by far the easiest component in your system to upgrade. So if you have a tight budget, it makes sense to not go overboard on the amount of server memory when choosing components for your system.
Consider this scenario, you start with 8GB of RAM and a better CPU and GPU combo. If you want to upgrade to 16GB of server RAM, all you have to do is add a new stick without completely replacing your CPU and GPU.
In summary, picking the right RAM for your server requires careful consideration. Hopefully, the factors listed above can help you choose the right server RAM that suits both your budget and needs.