To get optimal performance out of your ThingWorx server, consider the following general guidelines:
1.Size your server according to our sizing guide, and consider going 'one size up' to allow for future growth (https://www.ptc.com/support/-/media/BC2F28281E4142AFA6FC79EC49D9DBD3.pdf?sc_lang=en). ThingWorx is processing intensive, and allocating sufficient CPU and RAM is by far the biggest component of getting good performance. Our sizing guide gives you different Cloud and on prem image sizes you can based your deployment on
2. Consider tuning your database so it's optimized for performance per our KB https://www.ptc.com/en/support/article/CS316989
3. Have a strategy for monitoring application performance per our documentation so you can identify performance bottlenecks as they occur: http://support.ptc.com/help/thingworx_hc/thingworx_8_hc/en/#page/ThingWorx%2FHelp%2FBest_Practices_for_Developing_Applications%2Fmonitoring_thingworx_applications.html%23
4. Longer term you may want to consider expandability (i.e. moving processing outside the platform via microservices or other customizations).