Part of the reason that there isn't a page with hardware recommendations is that they vary somewhat based on the usage.
In terms of component priorities, I might put disk speed ahead of speed of cores. Between database queries and opening files (pg question files, images, etc.), you might find that this is more of a bottleneck than processing speed.
The biggest factor in determining what resources you need will be whether you intend to run scheduled quizzes in WeBWorK. Because the quiz mode generates the entire quiz when a student first clicks on it, having a group of students start a quiz at the same time causes the largest load on a WeBWorK server.
In terms of assignments, because students submit one question at a time, you can have a very large number of students working on an assignment with little load on the server, since very few of them will be clicking submit at the exact same time. The usage does tend to peak immediately before a due date. For example, if you have 1000 students that all have an assignment due at 4pm, you would see more traffic shortly before that time.
Another observation is that WeBWorK's resource requirements have remained relatively flat over many years, and processor power has improved significantly over that time, so a modern server can generally handle a very large number of students (e.g. thousands) without difficulty.
In terms of concrete numbers, here are my thoughts:
- I wouldn't even look at less than 8GB of RAM. Since you have budget, I recommend 16GB. You can look at more, but depending on your usage you may find that you never go beyond 16GB of use.
- I think that core speed is probably the least important factor. Most WeBWorK requests are very simple in terms of processing, so more cores is generally more important than fast cores, though going beyond 8 cores could be overkill.
- If you have the budget, I would definitely recommend SSDs. When WeBWorK loads a page, I believe most of the work is getting information from the database, so disk speed may be the limiting factor more so than processor speed. WeBWorK does not require a large amount of storage, so buying smaller SSDs is probably a better investment than bigger magnetic drives.
Having said all of that, I actually prefer VMs to physical hardware. Of course this depends on how reliable, robust and fast your IT department's VM infrastructure is. VMs provide some fundamental benefits such as portability (a VM can be easily moved to different hardware), easy backups (e.g. snapshots), and protection against hardware failures (if your server farm is set up for this, a VM can be automatically restarted on a different host if one host fails). Plus with VMs it is easy to spin up a development/testing machine in addition to your production server.
For comparison, we have about 2500 students using our WeBWorK servers right now, and we are currently running two VMs with 8GB of RAM each and 2 cores each. The database is hosted on a separate server, so this alleviates a small amount of load from the web servers.