Our IT dept are about to deploy virtualized apps using Citrix XenApp.

One of these apps will be Dynamics AX 4.0 SP2, a ERP client (which I develop on).

They have supposedly reached a roadblock because an external 'Dynamics AX Consultant' has told our IT Dept that Dynamics 4 will not work optimally on Citrix and will run very slow because it is not optimized for Citrix. We have it running in a Test environment now and seems ok. They have been told that the only 'solution' is to upgrade to Dynamics AX 2009 where supposedly this problem as been fixed. (not a small task for my team!)

When I heard about this, I was quite surprised. From my brief knowledge of Citrix, I thought it would be application independent.

How does the citrix app virtualization work, in that a particular app would work better than others on citrix?

Would the speed of the virtualized app not just depend on the resources/network connection the citrix server has?

FYI, Dynamics AX is a 3-tier client/server system, so the client will be accessing a AOS application server, which then accesses the database.

Please enlighten me :)


There are still application vendors today that will not commit to saying that their application will work properly under Citrix, or VMware. In some cases, they even know that there are active problems. ERP apps can be tough nuts to crack, because in a lot of cases, you're getting all the install and support through a VAR, so you might not have access to a vendor KB or support forums.

It's possible that there are known problems though - if their application does stupid things like a ton of small disk writes, it can cause performance problems on a multi-concurrent-desktop-user system like Citrix or TS, especially if you don't have things like a write-cache on your storage system. Some software, and I've seen ERP software like this, assumes that only one user will have all the system resources available as needed.

So, push them for evidence of the problem - under what conditions is performance impacted, do they have sizing guidelines, etc. It's possible that your install won't fall prey to what he's claiming is a known problem.

However, if it's a real problem, and your testbed isn't generating the production load (real number of concurrent users pulling order reports or doing end-of-month activities, real stress-tests), then you can't do a good job of proving him wrong, either.

Would the speed of the virtualized app not just depend on the resources/network connection the citrix server has?

In general yes, but as I said above, it's not just CPU, RAM, and LAN bandwidth. There's also things like disk IO, and weird Windows things like Session Desktop Heap and GDI counters, that a single-user system very rarely has problems with.

  • Thanks for the info! Gives me a bit more understanding. Will push them for some evidence... – damitamit Mar 23 '10 at 16:38
  • Yeah - performance tuning for Citrix (and TS, now that it's better and being used for application delivery more often) is a whole discipline on its own. – mfinni Mar 23 '10 at 16:47

Do you have any reason to trust that consultant?

If it were me, I'd deploy it on a testing server and see what performance is like. There are a variety of stupid things an app can do that make it a bad fit for virtualizing or remote desktops, but who knows if your app does?

(Edit) I see you said you're already running it in a testing environment. Well, how's it going? :) Make sure you're stressing that environment at least as much as (or more than) the real one will be. Load generation is an art to itself, but the short version is: hit it really hard. Lots of simultaneous sessions, doing different things, preferably code driven. In a pinch, get everyone in your department to come to a conference room over lunch and whack on it while eating pizza (that you bought).

  • Need to push the IT dept for their testing plan for this upgrade (or if they have even thought of it) as no one has come to me for any info about the application etc. – damitamit Mar 23 '10 at 16:40

When you say "seems ok", you should ensure you are testing in an environment similar to that of the end users. In particular, the slowest supported connection. If you have remote offices with a T1 and very little net available bandwidth, that is the scenario you should simulate during testing.

An easy tool to simulate network latency is available here:


I would also create a performance baseline of both 4.0 and 2009, and compare the two. If what they say is correct, it should be measurable.


Whenever someone says an application will not run optimally on Citrix, what they're saying is that the client piece of the application is not designed to be used in a multiuser environment. More often than not, apps like this are poorly written or just obsolete. Ask the consultant if the app is supported on plain old Terminal Services. If it is, then it will work on Citrix.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.