stmcginnis / gofish

Gofish is a Golang client library for DMTF Redfish and SNIA Swordfish interaction.
BSD 3-Clause "New" or "Revised" License
224 stars 117 forks source link

Make collections retrieval parallel #210

Closed stmcginnis closed 1 year ago

stmcginnis commented 2 years ago

This makes calls to get the objects from a collection link parallel.

Some collections can contain a large number of items to retrieve. Doing this serially can have a noticable performance impact. This change allows three fetches in parallel so we don't overwhelm the Redfish service and cause a denial of service. With three concurrent operations we can be processing some responses while queuing up the more, making it a lot faster to process.

stmcginnis commented 1 year ago

Been out here long enough. Was hoping for external validation that things are working well, but I'm sure I'll find out soon enough if there are issues. ;)