Load test with hundreds of JSON messages

depends if the message structure is the same or different. If the same, i would write one function and create a visual subroutine using link-call - to minimise copy-pasta code!

e.g...
chrome_SgUVwZSFbj

[{"id":"1a5423c1ce9beffa","type":"inject","z":"f31d05a2a56e6fd6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"device1","payload":"5","payloadType":"num","x":260,"y":1200,"wires":[["0def5e23a4e21d38"]]},{"id":"0891152534b4b8f4","type":"delay","z":"f31d05a2a56e6fd6","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"3","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":840,"y":1200,"wires":[["4486980fafe9ce8c"]]},{"id":"4486980fafe9ce8c","type":"debug","z":"f31d05a2a56e6fd6","name":"debug 25","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1010,"y":1200,"wires":[]},{"id":"528b9a6f617619a2","type":"function","z":"f31d05a2a56e6fd6","name":"Generate n Objects","func":"const length = msg.payload\nconst result = []\n\nconst names = [\n    \"Liam\", \"Emma\", \"Noah\", \"Olivia\", \"William\", \"Ava\", \"James\", \"Isabella\", \"Oliver\", \"Sophia\",\n    \"Benjamin\", \"Charlotte\", \"Elijah\", \"Amelia\", \"Lucas\", \"Mia\", \"Mason\", \"Harper\", \"Logan\", \"Evelyn\",\n    \"Alexander\", \"Abigail\", \"Ethan\", \"Emily\", \"Jacob\", \"Ella\", \"Michael\", \"Elizabeth\", \"Daniel\", \"Camila\"\n]\n\n\nfor (let i = 0; i < length; i++) {\n    const id = Math.floor(Math.random() * 100000) + 100000\n    const age = Math.floor(Math.random() * 50) + 20\n    const randomIndex = Math.floor(Math.random() * names.length)\n    const name = names[randomIndex]\n    result.push({ device: msg.topic, id, age, name })\n}\nmsg.payload = result\nreturn msg","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":590,"y":1380,"wires":[["392323d1953dd6f7"]]},{"id":"517c630507adb5f1","type":"link in","z":"f31d05a2a56e6fd6","name":"generate-n-objects","links":[],"x":465,"y":1380,"wires":[["528b9a6f617619a2"]]},{"id":"392323d1953dd6f7","type":"link out","z":"f31d05a2a56e6fd6","name":"link out 2","mode":"return","links":[],"x":725,"y":1380,"wires":[]},{"id":"0def5e23a4e21d38","type":"link call","z":"f31d05a2a56e6fd6","name":"","links":["517c630507adb5f1"],"linkType":"static","timeout":"30","x":440,"y":1200,"wires":[["6ad0290b84e8cba7"]]},{"id":"6ad0290b84e8cba7","type":"split","z":"f31d05a2a56e6fd6","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","property":"payload","x":640,"y":1200,"wires":[["0891152534b4b8f4"]]},{"id":"f99d0e84ed77a345","type":"inject","z":"f31d05a2a56e6fd6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"device2","payload":"7","payloadType":"num","x":260,"y":1260,"wires":[["8fad238f9cacc632"]]},{"id":"102a7ee57044c881","type":"delay","z":"f31d05a2a56e6fd6","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"3","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":840,"y":1260,"wires":[["6d037d309cedbac8"]]},{"id":"6d037d309cedbac8","type":"debug","z":"f31d05a2a56e6fd6","name":"debug 4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1010,"y":1260,"wires":[]},{"id":"8fad238f9cacc632","type":"link call","z":"f31d05a2a56e6fd6","name":"","links":["517c630507adb5f1"],"linkType":"static","timeout":"30","x":440,"y":1260,"wires":[["429881f8382ae51c"]]},{"id":"429881f8382ae51c","type":"split","z":"f31d05a2a56e6fd6","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","property":"payload","x":640,"y":1260,"wires":[["102a7ee57044c881"]]}]