Search This Blog

11 August 2013

Boost up Citrix performance

Citrix has been playing vital role for Smartplant. Most of the industry giants are using Citrix. But many people have different opinions for Citrix experiences. Recently I talked to a CITRIX expert. I understood few possible reasons why Citrix application may slow down compared to local installation. I'm breaking it in parts to make it more clearer.


Understanding why computer slows down

Following are few main reasons (according to experts) due to which a PC may slow down at the end of the day:
  • Less or no Page File available. Page File is the memory on disk which is used when the RAM is unable to handle processes.
  • The files may be fragmented. Your computer starts a new file at the end of address assigned to old file. So practically your old file never ends. This is called Fragmentation.
  • Computer disk drive may be failing. Your disk drive is wearing continuously.

Looking at slow Network performance reasons

  • Too many users on server.
  • Duplex and speed mismatch. It is like two cars trying to pass one another on a one way street while moving in opposite directions. 
  • Poor network design.
  • Inhouse loosely developed applications.

Improving CITRIX performance

  • Scale out by Adding Servers
  • Scale out by Adding Memory.
  • Scale up by moving to Windows X64.
  • Monitor Page File.
  • Monitor Disk Drive performance.
  • Plan Network.
Hope this will help you...

Happy Smartplanting





29 July 2013

Relation Between .pid file and SPPID drawing

Question - What is the best way to recreate a SPPID drawing?

Best Answer -  Rename the .pid file of the drawing, and open drawing from drawing manager!

Reason - ?????

Last time my friends asked the reason for existence of .pid file, I was completely answer less. I did a small investigation and found some information. Readers are welcome to share further information.

Following are the brief observations of investigation:


  • .pid files works on database connection. Change plant from Drawing Manager and try to open the file directly, it won't work.
  • .pid files are sufficient to work on the drawing. Copy them on local desktop. Open the drawing from .pid file, and work on them. Only difference is that when you launch the corresponding drawing from Drawing Manager, the drawing will be recreated.
  • .pid files have basic information about drawing and its template. Create a custom template with few xml labels, use it in drawing, open .pid file in notepad and you can view the xml script.
  • .pid file also works as a log file. Try this - on each operation, like placing object, editing attributes, deleting objects, check the latest .pid file. You can view information about each operation.
  • Rename a .pid file, open that drawing using DM, recreate drawing, do some operation, and then compare both the .pid files.
  • Try to edit any single character on original .pid file and save it. The drawing won't respond on open event.  You'll have to rename or delete that .pid file.
Summary of the observation. .pid file is one which has
  1. Encrypted information about the plant.
  2. Encrypted or plain information about Drawing and Template.
  3. Stores log for each operation.
  4. On drawing open event Database matches information on .pid file, if everything looks fine, it opens the drawing. If doesn't match, recreates the drawing. If anything is wrong, doesn't respond!
Till next post...

Happy Smartplanting...

12 July 2013

Free stuck seat in SPLM

  When I was working as SPPID designer, I had a favourite place where I always wanted to sit. But unfortunately the computer wasn't used for SPPID drafting, because license used to stuck for each SPPID drawing open event, even after exit.

Normally the tools, on launch talks to the SPLM server on a TCP port. The server checks for free seats and as per availability it assigns license to the client on a particular TCP port and blocks the seat. For some reason, may be on system crash, or bad network response of a particular system, when the license is set free by the system, it doesn't acknowledges the SPLM server. As result SPLM considers the seat to be busy and doesn't release the port. Therefore on scavenging for new seat, it shows the seat as non recoverable.

Recently I was searching for an option to recover the seat, and got a wonderful solution. It worked for me. But isn't approved by any authorized personnel. So I would suggest that you perform the steps on your own risk.

The following activity should be the last option, when other options suggested by Intergraph doesn't work.
By following steps, I released stuck seat:

  • Go to the license server.
  • Open command prompt with Administrator privilege.
  • Type 'netstat -p TCP -o'. Netstat displays protocol statistics and network connections, -p displays connections for protocols which will be TCP for our case, and -o will display owning Process ID or PID.
  • In Foreign Address column, find your client computer which will be followed by ':Port No'.
  • Check corresponding PID.
  • Goto Task Manager-> Processes Tab.
  • Select View->Select Columns...
  • Check PID and press OK.
  • Search for the related PID. It should be a svchost.exe process. 
  • Select Process and press End Task.
  • Scavenge SPLM. Seat should be free.
If this work for you, please let me and others know.

Important: Please read this message.

Happy Smartplanting...

28 June 2013

Error: Out of Stack Space!

Ever got the error message 'Out of Stack Space' while running any application? If yes you're welcome to read the reason. If not, you're not an exception! You may get this error.

Many users experience this error while launching or running applicaions. There is a way to avoid this error while working with SP3D drawings. But sometimes (that too in exception) it fails. According to Microsoft, following are the possible reasons for this error in VB applications:

  • The code has too many active Function, Sub or Property procedure calls.
  • Local variable is having less space allocated than required.
  • Too many fixed length strings in the code is also a possible reason for this error.
  • Too many nested DoEvents function call.
  • Code has triggered an event cascade.
To get more details on the reasons, visit MSDN link.
Right now this error is reported with SPPID 2009 SP5. You can share if you experience with any other application or version.

Happy Smartplanting...

24 June 2013

How to Boost IIS performance




IIS, the web server, is a part for SPF site setup. While many stuffs work for SPF with IIS as a web server, it is important to know about the facts that how the performance of IIS can be pumped up. The better IIS performs, better SPF performs.


  • Object Cache TTL
    • For a dynamic site (in case of website), it is recommended that object shouldn't be cached. In case of SPF, where most important function of Plant Lifecycle, the integration occurs, it should be recommended that the cache is set to minimum possible. By default it is set to 15 minutes. It depends on the criticality of the project, or integration frequency how fast the cache should be refreshed.
  • Enable HTTP to Keep Alive
    • Improves client connection experience. Allows Integration authentication, recommended to keep it enabled.
  • HTTP Compression
    • An important feature recommended by IIS gurus. There is a built in feature to perform this task.
  • Connection Timeout
    • This depends totally on projects requirement, sometimes on a particular action. May be helpful while troubleshooting.
  • Optimize Memory Usage
    • IIS utilizes a lot of physical memory. More the memory alotted, better will be the IIS performance.
Hope you find this of some use. Till next post

Happy Smartplanting...