0

I've inherited an old Windows 2019 Server (8GB RAM, crappy CPU) which hosts a published Delphi application via TSPLUS (not ideal). It gets bogged down when too many users are active, so I'm migrating this setup over to a beefier Windows 2022 machine (64GB RAM, 16 Core CPU) using Remote Desktop Services (RDS) instead.

I have everything setup on the new server, and I can connect to the published app via RDS - there's only one issue: the CPU usage is too low, and makes the application run slower than it should/could.

So if I login via RDP and run my app, it's performant and runs perfect. If I access that same app with the same user, via RDS Published App session, it runs exactly half as fast. Having looked into this, I've found that when doing the same action running the executable vs the RDS app, the CPU usage is 20% in the former, and 10% on RDS. It's as if it's being throttled somehow by RDS.

I thought this might be because the Delphi app doesn't support multiple cores, so I got Process Lasso, set the app priority to high, and created a rule whereby the application will only use a single core for each instance (in case it's overhead created by multi-core stuff). But performance is the same.

TLDR: When executing my app via RDS, CPU usage is half, and actions take twice as long as running the application via the exe, where CPU usage is double. Power options is set to high performance too.

I feel like I've tried everything! This doesn't happen with TSPlus published apps, but for obvious reasons I'd like to use native RDS over TSPlus, but this isn't leaving me much choice. Any thoughts?

Giacomo1968
  • 58,727

0 Answers0