Some simple practices will help you ensure that Ithicos Solutions applications work at peak efficiency and enable you to manage them simply and effectively.
Often, customers report to us that our applications are "slow to load" the first time the application is used each day. This is an inherent characteristic of ASP.NET applications. .NET applications are compiled at run-time and then held in the IIS server's cache for some period of time to be available for other users. The same behaviour can be seen in other ASP.NET applications like Exchange Outlook Web App and SharePoint. They are slow to load the first time they are used after some period of inactivity on the web server for that particular application.
Ithicos Solutions web-based applications use the .NET Framework v4.x platform as well as other underlying components of the Windows Server operating system and Internet Information Server. Each application has its own IIS Application Pool (AppPool). An AppPool is essentially a memory space and set of CPU threads that are assigned to a web application. This allows applications to run independently of one another on the same IIS server and prevents one web application from negatively affecting another. There are a few key things you can do to an AppPool to improve performance by increasing timeout values and increasing the amount of time that the application remains un-used in the IIS cache.
Here are a few important settings that you should be aware of:
Directory Update, Directory Manager, and Directory Password all include auditing options including auditing changes to a text file or logging the last changed date/time to an attribute in Active Directory.
Unfortunately, there is not a single performance monitor counter that allows you to monitor any of the Ithicos Applications. In general, if a Web application is having performance issues the first thing to check is to ensure that the Windows server has sufficient memory. Windows 2008 R2 usually needs a minimum of 4GB to run web applications. The other performance factor that you can monitor is to watch the CPU usage of the W3WP.EXE processes. If you have followed our guide for creating a dedicated application pool for Ithicos applications then this process will be running as "NETWORK SERVICE".
In most cases, a single IIS server can accommodate hundreds of simultaneous Web application users. Ithicos applications can co-exist with other Web application as well. Each application has a different behaviour on an IIS server. When sizing an IIS server to support Ithicos applications, we recommend at a minimum:
In most cases, Directory Update is only used by end users once every few months or upon request. So a single installation of Directory Update can potentially support 75,000+. We recommend no more than 250 simultaneous users, but that is usually not a problem since a user connects to the Directory Update page, updates their information, and then disconnects. However, if you send an email notice out to all 100,000 users asking them to update their information at 9AM on Monday morning, you may over-task your server. In that case, multiple servers can be installed and load balanced or you can stagger notifications to only a few thousand users at a time.
Directory Search, when used as an address book service, usually has the highest simultaneous use in most environments. We recommend no more than 750 simultaneous connections at any given time. Keeping the maximum query size (defaults to 100) small helps improve performance. The larger the query side, the slower each user's performance will be.
Directory Manager is typically used by a very small number of authorized users and thus scalability and simultaneous users is not a concern.