Recommendations for router/LAN performance testing

Hello,
I’m about to deploy a new setup in a remote location.
This setup includes:

  • two WAN connections (with two different ISPs)
  • one main router (either a CRS112 or a CCR1009)
  • one server (mostly for logging)
  • one LAN switch (CRS328)
  • 24 WiFi AP

All connections are Gigabit expect main router to LAN switch (10G with SFP+DAC).
One ISP requires PPPoE.
For the other ISP, I don’t know yet how WAN connection is set up.
Each WAN connection should provide 700M/s for download and 100Mb/s for upload.
Those WAN connections are mostly used for Internet surfing (downloading, Youtube/netflix streaming, …).

In my lab, I can configure VM Guest to “simulate” WAN endpoints or WiFi AP.
My goal is to make sure that “my router and switch do not introduce a bottleneck” as I foresee WAN and WiFi connections to be the weakest links.

  1. From experience, would you say that a a router, acting as a PPPoE client as a meaningful impact on end-to-end performance (as opposed to just setting fixed IP addresses to WAN ports) ?
    In other words, shall I care about replicating exact target WAN setup ?
    Of course, in my testing, I’ll keep router main tasks (NATing, firewalling, …).
  2. My VM environment is based on KVM/QEMU. Which Network Device Model (virtio, e1000, …) do you recommend ? Any tip on KVM network tuning ?
  3. How many VMs shall I set to replicate APs ? Does it matter to use a single VM instead of several VMs, each connected to a different switch port ?
  4. Which tool (iperf, …) do you recommend to generate representative load ?
  5. What do you think of tools included in RouterOS distribution ? Can I use them to generate 1Gb/s traffic, for instance ?
  6. Suggestions ?

Best regards

Sounds like a classroom project not a real world deployment, cant help with homework.

I’d recommend not using CRS as main router, as it’s primary function is of a switch.
Check test results of product before making a decision:
https://mikrotik.com/product/CRS112-8G-4S-IN#fndtn-testresults

As for performance testing iperf is fine, traffic-generator also is fine, or maybe even bandwidth-test with newer betas. Just remember that for proper testing you shouldn’t generate traffic with device which is under test.