Citrix and SQL

  • Hello all,

    Here's my situation: a real-time manufacturing environment running 24/5, 3 dozen stations running a custom app deployed on a Win2k terminal server talking to a dedicated SQL2K box (std edition).  Everything just humming along nicely.  Log shipping happening every 15 minutes to a terribly underpowered server that, in the case of the production box going for a dump, will barely be able to keep up (in my opinion, it won't).

    I have sold the client on upgrading the standby sql box to something equivalent to their production machine.  However, now my attention turns to the terminal server.  For various reasons, the terminal server must be upgraded to Citrix in the next 3-4 months.  What if this goes down?  I have also proposed that a backup Citrix server be established, which, apart from being a live backup, can also act as a staging area for deploying changes to the custom app mid-week.  I must be able to control which station gets access to which Citrix server, so I cannot use a farm.

    The client wants to know whether they can install both Citrix and SQL2K on the same "backup" box, thus saving the cost of one server.  This presents potential problems, as now I have to coordinate my log shipping to the backup box when I need to do maintenance on the Citrix side.  While a nuisance, it is livable.  However, I know and the client's IT guy knows that it is not generally a good idea to install SQL2K and anything on the same box, let alone Citrix.  Unfortunately, the decision is in the hands of management and the beancounters.

    Indications from Citrix support forums state that yes, this can technically be done, but is not recommended (following comes from a Citrix support person):

    "Are you installing this for a test environment or do you plan to use it in production? It's not generally recommended for a production environment but it will work."

    OK, so we all know that it ain't a good idea, but what I need is a definite reason/set of reasons why it just should NOT be done, period.  And if these reasons come from another party outside of the vendor involved, i.e. us, and the internal IT guy involved, then all the better, and this may give us enough "oomph" to get things done properly.  Ultimately, if we can prove to these people that the risk of something going south is too great with the cheaper solution, then the potential for receiving blame for a bad decision in the case of an outage will override their desire to save a few bucks.

    Any input and or real-life experiences with such a configuration would be greatly appreciated.

    Vik

  • This was removed by the editor as SPAM

  • memory will be your biggest issue. Citrix and SQL both chew up the ram. If you have to do it shoehorn in as much memory as possible. You can also set SQL to a fixed memory size and live with the performance hit.

    wes

  • Agree with Wes. Should work, but you need to be sure you add some horsepower, or live with the short performance hit.

  • My belief is that Citrix will take 100Mb of RAM for each user connected. If you have only a couple of Citrix users that won't be an issue in the short term, however if you have a lot it could well cause major problems.



    Shamless self promotion - read my blog http://sirsql.net

  • I don't think Citrix will grab 100mb per connection, of course this will vary based on your app requirements.  I would say that you need to make it clear that running both will cost more if one the Production boxes (Citrix or SQL) goes down in lost efficiency which is something no one ever considers.  If SQL does not have the cycles and RAM avialable you will suffer more from locks, blocks, deadlocks.  

    As everyone else has said you really need to throw power at it if you run both on one machine so you might be able to convinvce them to go with 2 lesser boxes by speccing out a monster machine to host both and then speccing out 2 smaller machines and showing the cost savings. 

    Has anyone given you a reason for going to Citrix on top of terminal services?  We use Citrix where I am at but we use Published Apps and Load Balancing in a farm.  IF you aren't going to use either those 2 features I don't see the need for Citrix.  THat could save them some cash to get you 2 boxes also.

  • Thanks for the replies, guys.  As for Jack's question on why use Citrix at all, we have network appliances deployed in the production environment that require serial port mapping.  Citrix has dropped support for CDS (Citrix Device Services), which is used by these appliances to provide this capability.  W2K Terminal Server does not support serial port mapping.  The alternative is to go to Windows 2003 server, but my client has an existing Enterprise license for Citrix already, so this is not an issue.

    Vik

  • As stated above I also feel that the problem with putting Citrix and SQL on the same box is memory. Since Citrix essentially creates a new VM for each connection it is a serious memory hog. We all know that SQL will happily take all the memory on the machine so we have two applications that will leave nothing left over for the other in heavy use. For a dev environment where only a couple connections are going on at any one time. I think it could be managed. I just think it is asking for too much for a single box to do. I would seriously lobby for not doing this. They are just asking for trouble with the ultimate disaster being the possibility of corrupted data.




    Gary Johnson
    Microsoft Natural Language Group
    DBA, Sr. DB Engineer

    This posting is provided "AS IS" with no warranties, and confers no rights. The opinions expressed in this post are my own and may not reflect that of my employer.

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply