Hello;
Your best metric is going to be your users; if they're complaining it's slow, then it's probably too slow. My guess is that it's intermittant (during peak times).
But in any case, it's not about the number of packages (a micro server can easily serve millions of packages nearly instantly), it's about the number of simultaneous connections (requests) to the server, and the features you've enabled (like license checking, etc).
It sounds like you've got a single "2 core instance with 8gb of ram" server; while you can try to increase the hardware, the bottleneck is most likely network related; a single server might not just be enough to keep up with the traffic from your developers. Keep in mind that "plain old NPM" (i.e. registry.npmjs.org) runs on a massive, dedicated data center and is heavily cached (basically read-only).
The ProGet Free to ProGet Enterprise article contains some general guidance that might help answer your questions:
High Performance: 1 Server per 50 Developers. The network never slows down, never crashes.
Average Performance: 1 Server per 100 Developers. The network slows down and drops productivity 10% on average during peak times daily.
Acceptable Performance: 1 Server per 200 Developers. The network slows down and drops productivity 10-30% during peak times daily.
Unacceptable Performance: 1 Server per 250+ Developers. The network is unstable and crashes.
You can try disabling connectors, disabling license checking, disabling vulnerability scanning -- but those are really important features, so your best bet will be to plan for a load-balanced scenario.