XenApp cmdlets VS MFCOM - Performance Test - Update

July 3rd, 2009

So last month I did a comparison test with MFCOM vs the new XenApp cmdlets.  My intention was simply to see if the cmdlets had the same (or any) performance issues that plagued MFCOM.  The results initially shocked me since MFCOM in VbScript seemed to be faster (albeit marginally) than the cmdlets.  After posting my results one of the developers of the cmdlets made a comment that my testing method was off.

LoadData loads the app specific data (according to the app type), not its associations, which are more expensive to read (accounts, servers, etc).
This is why I suggested to compare it to Get-XAApplication. - Felipe Leon

I had always been under the impression that LoadData() pulled backed all information about the application including Servers, Users/Groups.  So I did a few tests and realized that I was completely wrong.  When throwing a few for..next loops in to enumerate servers,users and groups the MFCOM time shot up by at least 10-15 seconds.

Felipe also suggest comparing LoadData() vs the Get-XAApplication cmdlet instead of Get-XAApplicationReport since the former does not make a call to obtain servers,users/groups.

Using this method the cmdlet obtained most properties on 100 applications in about 1-2 seconds..That’s FAST.  On the flip side using MFCOM to enumerate the same application set (100) WITHOUT using LoadData() still takes roughly 5-6 seconds.  There are a number of properties that are readable without using LoaData() but I have yet compared those to Get-XAApplication properties.

I plan to do more in depth testing when I have some additional free time but I wanted to post an update to show that my initial results appear to be wrong. As I stated in my previous post the cmdlets easily win for simplicity and ease of use but in my opinion until Powershell V2 is released (not as a CTP) and brings WinRM with it I think MFCOM is still the winner for multi-farm management.  Maybe by the time the XA cmdlets go out of  Tech Preview phase, Powershell V2 will as well?!


MFCOM, Tech

XenApp cmdlets VS MFCOM - Performance Test

May 31st, 2009

I have been using MFCOM since I began with MetaFrameXP and have always been a huge fan of the SDKs.  I loved the fact that Citrix created an API that was pretty simple to learn, for the most part ‘made sense’ and gave you enough power to actually be functional.

When I first heard about the cmdlets at Synergy 2008 I was a bit confused on how useful they would be and if they would offer the power that MFCOM does.  I do a lot of coding in C# and I leverage MFCOM there all of the time.  Not knowing enough (and still don’t) about Powershell I was not quite sure how well the cmdlets would work.

I had been part of the beta for the cmdlets but wanted to wait until I had the finalized version to run a few benchmarks between it and MFCOM.  MFCOM has always had a few performance issues since it is COM based.  I won’t go into the details here except to say that whenever performing actions on large groups of data MFCOM could take forever.  For example trying to loop through a large number of sessions (8,000+) would take a while if you were pulling back all of the session properties. This is due to MFCOM making a few different calls to get all of the info.  While I don’t have the ability to test session enumeration benchmarks in my lab here at home I can benchmark gathering application properties on large groups of apps.

I used 3 different scripts to perform the tests.

1. MFCOM with VbScript

2. MFCOM within Powershell to rule out VBScript as a performance factor

3. XenApp cmdlets within Powershell

  • I used the XAcmdlet to create applications in increments of 100.  I did this and ran the scripts to gather data.  I then went to 200,300,400,500.

$i = 1; do {New-XAApplication Notepad$i -ApplicationType ServerInstalled -CommandLine notepad.exe -ServerNames Server1 -Accounts Domain/UserName; $i +=1} while ($i -le 100)

  • All of the tests were ran locally on a XenApp 4.5 server that is also the Data Collector.
  • This server is a VM running on XenServer 5.0.  The hardware is not server class.
  • Each script was ran 3 times to get an average.
  • I used Get-XAApplicationReport as it actually pulls back all of the app properties.  This is comparable to the LoadData function in MFCOM (From what I can tell anyway).
  • I had originally been exporting the data to a csv but this added significant amounts of time for each test so I scrapped it and just went with a LoadData for MFCOM (this gets all properties anyway).  For the cmdlet test to avoid having the output dumped to the console (which adds time to the script execution) I assign it to an object.

And now for the results:

mfcomvsxacmdlet-results

The results shocked me so much I ran through a bunch of random tests again.  Every single time MFCOM via VBScript came out ahead by a few seconds.  I am sure on a more powerful machine the numbers would be lower in general but for the most part they stay pretty consistant. I truly expected the cmdlets to blow MFCOM out of the water because from what I can tell they communicate directly with unmanaged IMA calls via the managed .net wrapper.  While MFCOM via VBScript seems to come out ahead in this specific performance test the XACmdlets are still far and away easier to use.

I may perform these tests again with Pwershell V2 so I can test WinRM vs COM.

Please let me know if you think I’ve got something completely wrong here.  I would also like to see numbers from others running these scripts and would truly like to here from the XA cmdlet developers to see what their internal tests (performance wise) show.

Uncategorized

Citrix EyeCream (XenCream?) - Found this funny..

May 20th, 2009

I was taking a look at the ‘blogosphere‘ on community.citrix.com and saw a blog aggregation that I found pretty funny.

citrixeyecare

Citrix is really branching out these days ;)

Uncategorized

Netscaler VPX Beta available for download

May 18th, 2009

The Netscaler VPX Beta can now be downloaded here.  I have got it imported into my XenServer and so far so good.

More to come on this soon!

Uncategorized

Sneak Peek: Mobile XenApp management application for iPhone

May 12th, 2009

I wanted to take a few minutes to give a sneak peak of something I am working on and am pretty excited about.  With the release of the Citrix Receiver client for the iPhone I started thinking of ways to make the mobile format useful for administration purposes.  I had a general idea in my head and when I saw ‘Doc Finder’ it became the inspiration for how to implement it.

Keep in mind that this is a very early concept version but I wanted to get a preview of it out there so that I can incorporate any feedback into the app itself.  I am looking for the most common XenApp admin tasks that would need to be accomplished quickly and easily when away from the office.  Let’s face it, most of us would never use a mobile device for full farm administration as it is far too cumbersome.  This is why I am gearing this towards completing tasks that a Citrix admin would usually need to complete when say, at lunch.  How many times have we, as admins, been called while at lunch with reports of a server flaking out and are powerless to do anything about it?  That’s why I think this will be a huge plus in those corporations that will allow the use of the iPhone.

Take a look at a quick preview here. The video was recorded while shadowing a session on an iPod Touch running the app.

I would love to hear any initial feedback and/or suggestions.  Eventually I plan to expand this to allow administration of XenServer and Netscaler (Hooray for VPX).

Uncategorized

Citrix Synergy 2009 - Thoughts on announcments/releases

May 6th, 2009

While I was not able to attend this year I have been following the various ‘tweets’ from BrianMadden.com and a few other updates from others.

I have also been watching the Citrix site for blog updates and I wanted to take a few minutes to comment on some things that Citrix has announced/released.

Citrix iPhone Receiver

I have been messing around with this on an iPod Touch and I must say I am impressed with it’s usability.  The gestures work pretty well for working with apps that are not designed to fit in a small screen.  There have been a few times where I ‘touch’ a button and have it not respond but for the most part it is acceptable. I can’t comment on the performance over 3G or EDGE but it works flawlessly on a local wireless connection.

I’ve actually got a few ideas floating around in my head on ways to exploit this new client!  More on this soon.

Citrix Receiver / XenApp Plugins

I heard about the Receiver a number of months back and quickly got excited.  I have always wanted some consolidation of the various clients Citrix has for its products and when I heard about the Receiver being basically a framework that the other plug ins sat in I thought it was a step in the right direction.  When I realized it would only require Admin privileges for the Receiver and that you could automatically update the plug ins over the wire I got excited.

The ICA client and it’s roll-out has been a pretty tough task to stay on top of.  In my professional life we have people connecting from all over the world and a number of those machines are not under our control which makes it difficult to get them to update the client when we need them to.  With the receiver we could, in theory, allow these machines to update the client without much hassle!

I’m still messing around with it but my first impressions are that I am pleased with it’s execution.

Citrix Merchandising Server

When I orginally heard about the Receiver client I had not heard any mention of this product.  I wondered how updates were going to be pushed but I assumed it would be a simple installed app on an existing Web Interface (IIS) box.  Boy was I wrong…

This is available as a XenServer virtual appliance much like the XenCenter Web server is as well.  I have not really had much time to explore all of the options of the Merchandising Server but I truly do not understand why they built it into a whole server that requires XenServer.  Well, I guess I DO understand why they did it.. If you don’t already have XenServer in your company then bingo it now has a reason to be.  It’s free so what objections would there be, right? Right? I can also see the position that if you need to put this in the DMZ it is likely to be a bit more hardened than an IIS box.

I will post an update once I have time to explore it in depth.

A quick note on this product.   “Merchandising Server”.  Really? That’s its name?   Again, I was not at Synergy so maybe I missed where the name came from but from where I stand it’s pretty bad.  Every time I say it I feel like I’m getting ready to sell clients to end users.

Citrix Dazzle

Speaking of feeling like I’m selling things to end users there is the Citrix Dazzle product that will be coming later this year.  This is basically modeled after iTunes to be a hip update to how users get applications published to them.  I’m a bit torn on this as I guess I am a bit of an ‘old fashioned’ administrator and I like the current way we deploy our apps in our current environment.  I personally don’t see how this is going to be manageable from a licensing perspective.  Based on what I have read you give a specific group (AD) of users access to see apps in the Dazzle store-front.  From there the user can add that app to their list of items they may want to launch.  From my experience if I use Dazzle and stick 15 apps in list and present them to an end user they are just going to click ‘add’ on all 15 because they are there.  I am just failing to see how this adds anything new expect making the user feel they are more involved with what applications they have rights to access.  Doesn’t Web Interface do this already?!!!!  I publish a list of apps to specific users and if they want to launch them they do so.

And why oh why is iTunes the app to model after?!  In my opinion iTunes is one of the absolute worst applications I have ever had the misfortune of using.  It is incredibly slow on any machine I have ever tried it on.  It is extremely bloated and crashes constantly.  The only reason I use it is because the iPod is a great device and I need to sync it somehow.  Yes I know there are other sync tools for iPods but most don’t cover everything the device can do.

Maybe I’m being too critical of an app that hasn’t been released so I will table this for another time.

Netscaler VPX

I heard rumor that this was going to be developed but did not expect this to be announced so soon.  This is probably one of the most exciting things I have seen announced.  To be able to have this device in a virtual platform will come in very handy for a few things in role of administering AGEE devices.  I’m not going to say too much right now because apparently Citrix needs to see how it can be viable themselves so they are offering $10,000 to find out from their customers.

Additional link

In conclusion there are a few other things announced such as the XenClient which is a client hypervisor (Project Independance).  Nothing really new here as this has been touted for a while.  I’m glad that people like Brian Madden are keeping the masses updated with their constant updates otherwise I wouldn’t find out this stuff until my colleagues returned from Synergy!

Uncategorized

What can’t the “Cloud” do?

April 5th, 2009

Last week I saw an announcment about a product that will essentially move your gaming experience into the ‘cloud’.  A company,  onLive , is currently working on a piece of hardware that you will use to connect to their remote service via the internet.  This will allow you to play various games and from what I can tell these include some of the newest most resource demanding titles.

At first thought this is a great idea and kind of the next step in the future of gaming. Or is it?  There are a lot of factors that go into making this thing work well and the obvious two are is bandwidth and latency.  Playing today’s online multiplayer games you can stand to work with around 200ms of latency because there is usually netcode that helps to account for it.  With this system they are proposing I would assume any latency would be catastrophic (not in a world ending way of course) to the playability of the game itself.  Unless the system in the cloud is accounting for a delay of say 200ms then you are always going to be a step behind the real time action.

I am curious as to what protocol they will be using (guessing in house developed since they have been working on it for over 5 years) and how it will compare to some of the things from Citrix (HDX), Teradici (PCoverIP), etc.  I know they are obviously playing in different spaces but in the end it all comes down to SBC (in most cases).  Based on some things I’ve read the requirements are moderately steep to play smoothly.  What I’m wondering is if this new technology applied to the business/enterprise world would actually translate into better performance for multimedia?  Games are going to be, for the most part, more demanding in the screen refreshes and the dependancy on latency greater.  If they can get HD quality running over the internet smoothly I wonder what their technology would do to get basic windows apps and/or multimedia to the end user.

I’m not one to buy into most of the current ‘cloud is the answer’ hype that has been going around since last year but this implementation may be one to watch.

“What can’t the cloud do?”  Right now it can’t make me a sandwich…I’m hungry.

Tech

Update: Farm Monitor Gadget - Windows 7

February 28th, 2009

The Farm Monitor gadget has been updated to work correctly with Windows 7 Beta.

You can get the updated files here:

  FarmMonitor.gadget (27.8 KiB, 670 hits)

I am working to add features to the gadget and would love to hear any suggestions.  I am planning to recode the MFCOM pieces into C# and expose it via  a COM object.  This should give a bit more power for any multi farm processing that needs to be done.

If you have any thoughts/comments please post them here or shoot me an email at “nick  (at) nickholmquist.com”

Tech

A stroll down memory lane..

February 28th, 2009

So my last post talked about how much the Citrix developer community site has changed since I started using Citrix products.  What is funny is I had completely forgotten about a site I was creating (MFCOMScripting.com - July 2007) before I knew about the Community site Citrix was working on (I think November or so of 2007 is when it debuted).

The goal was to create a site that would contain code examples for each individual object/property that is accessible via MFCOM.  I have always liked the simplicity of DevGuru.com and how they give clear and precicise examples and thought that would translate to making MFCOM easy to use.  I had hoped to include the most popular languages in the examples and obviously accept user submissions for example code.  I also had ideas for a code repository for community donated code, a wiki for ’super scripts’ (when I was more VBScript focused) and a few other little ideas.

Of course as I was working on this as Citrix released their community page and my site seemed unoriginal and pointless.  Therefore it has been sitting dormant.

I only bring this up since I happened to be looking at the list of my domains and realized how easy it is to forget things in the midst of how busy most of us in the IT field are.

MFCOM

Citrix XenApp Developer License - FREE!

February 25th, 2009

I guess I didn’t realize how much of a secret the developer licenses for Citrix XenApp were.  However based on Vishal’s latest post in reference to it, it would seem that many people had no idea they existed!

These licenses, while only 2 ccu’s, are a fantastic way to get started toying around with XenApp and subsequently learning how to write scripts and/or applications to use with it.  This coupled with the XenServer line - which is now free - gives a fantastic opportunity to build a home lab easily (and legally I might add).

I said it at Synergy last year and I will say it again, the SDK’s are a huge plus to using Citrix products.  I appalud Citrix for the opennness they have in regard to their developer community.  I have only been using Citrix products for roughly 3 and a half years and even in that short time I have seen the Citrix Developer Network grow from very basic forums to where it is today- a pretty active community for those who want to improve upon the tools that already exist.

Anyway, I highly recommend checking out Vishal’s blog entry as it is a way to get your feet wet with Citrix products!

Uncategorized