We have noticed a performance issue when using Spectrum REST API, if we send 4 or more queries per second and including the internal attribute TopologyModelNameString (0x129e7) that it takes over 1 minute to return the results.
Spectrum 22.2.x / 23.3.x
Although TopologyModelNameString is an internal attribute, it has an interceptor which calculates its hierarchy every time you query for it. Repeated multiple queries will take longer to return the values.
I replaced attribute 0x129e7 (TopologyModelNameString) with 0x12bfb (USER_AssetTag)
I then populate the 0x12bfb attribute as follows
1) I created a new Global Collection based on attribute 0x129e7 that is scheduled overnight to update.
2) I then created a policy that sets attribute 0x12bfb with a static string (i.e. container name) and uses the new Global Collection.
After doing this, the REST API returns the results without any delay.
As an alternative solution it is preferred to use a different database (such as SRMDBAPI) to obtain this information.