Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Management Community Blog
Showing posts tagged with Performance
Showing posts in English
BRING | 04 Feb 2010 | 0 comments

While running applications from our workflow server, the end users were reporting that emails were not being sent as designed.  We furhter  noticed the following error messages:

EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 mscorlib, P5, P6 4a7cd8f7, P7 11eb, P8 18, P9 system.outofmemoryexception, P10 NIL.

An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/1/Root/HardwareEquipmentRequestV4
Process ID: 1052
Exception: System.OutOfMemoryException
Message: Exception of type 'System.OutOfMemoryException' was thrown.
StackTrace:    at System.Threading.ExecutionContext.CreateCopy()
   at System.Threading._TimerCallback.PerformTimerCallback(Object state

We further noticed additional error messages from the specific project logs:

System.Data.SqlClient.SqlException: Could not allocate space for object 'dbo....

Randall Newnham | 04 Jan 2010 | 1 comment
An environmental issue has been noted in a few networks when trying to deploy an image to machines across a network that utilizes switches or routers with different speed hardware (100 and 1000, for example), and the session or task fails.
This is an environmental issue. Though Ghost will work in most network configurations, some specific hardware setups will cause issues. This is not expected behavior, but probably motivated by other factors on the network.  Since this is motivated by the physical environment, modification of network hardware may be necessary. First try updating the firmware for all devices to see if this resolves the issue. If this fails, two solutions are possible:
1. Reconfigure switches so that machines are all on a switch of the same speed.
2. Run separate deployment tasks to machines on different speed hardware. This will likely mean machine groups in the console require...
Ludovic Ferre | 25 Dec 2009 | 0 comments

Santa was busy last night but did not forget the CWoC folks on Connect. So under the tree this morning I found commit 67 [1] which was good enough to be tagged, as version 0.2.0 [2].

Has stated in a previous post [3] it contains a new feature in the form of a string cache. Without going into too much of the code itself we can say the following of the cache and it's current implementation and use (versus other implementation options and usages):

  • The string cache is currently a static array, set to hold a maximum of 8192 string cache entries.
  • The string cache entries are based on a struct defined as shown here:
    struct string_cache_entry...
Ludovic Ferre | 22 Dec 2009 | 2 comments

As posted earlier today the file is now available for download in a compress form, so the download time can be much faster than using the raw xml format.

As I checked this I also found that the loading of the Symantec Installation Manager UI was still not very fast. Just under one minute on my VM:


Given I've monitored the pl.xml file since March 2009 (when it was still in beta) I have some thought on what could help to improve the performance (I posted a couple of ideas on the subject: make-ns7-symantecplxml-file-easier-download-and-parse-splitting-it-smaller-files and...

Ludovic Ferre | 22 Dec 2009 | 5 comments

I'm not sure that this is totally new but I have only noticed it now, apparently related to some side effect of the changes or may be not (see forum entry here).

SIM now handles compressed pl.xml so the download process is much faster than before, because the compressed xml file is now 3.4MB versus 19.3MB uncomrpessed. This is a pretty good compression ratio of 5.74.

And it has a direct impact on user experience, as the following screen shots do show a download time difference using the raw versus zip download path. First I had to make sure the zip path is in use in the registry (not default yet):


Then download took 9 seconds!


versus 41 seconds previously...

Ludovic Ferre | 08 Dec 2009 | 0 comments

After spending a little bit of time Sunday morning coding a c program to handle the command line arguments (to some mixed results) I built a similar program using .Net (and Mono Develop) in less than 10 minutes, with a file parser in less than 20.

Okay, the prototype doesn't do anything that stunning but it counts the lines and returns the value as well as a count of bytes found in all line (so it should be a little less than the file size, given we don't count the eol char).

Last night I was drawing in order to work out how to best store statics on the parsed lines in memory. And the following data hierarchy came about this design session:


The 3 data structures are explained here:

  1. Line data: summary information and statistics on the content (all values = 1)
  2. Chuncks: this is an intermediate level to avoid keeping all LineData in memory. It...
Ludovic Ferre | 06 Dec 2009 | 0 comments



One very interesting repository for historical data found on the Notification Server is often the least epxloited one: the IIS log files contian data on the workload recorded per day generally over the entire server life time (I was on a customer server where this folder was taking 50+ GB!!!).

But how can this data be utilised efficiently, as the log files can be very large (from a few tens of MB to 800MB in the worse case I...

Ludovic Ferre | 30 Nov 2009 | 2 comments

I just got a call from my customer and the problem he reported yesterday happening on 2 Notification Servers  got worse (a lot worse) this morning as it affects all NS's in head-quarter (that's about 10 of them at least).

We did isolate the issue yesterday by removing all existing licenses from the license store (using the License removal tool for SP3) and what I saw during the troubleshooting was ugly: stop the SQL Server, Altiris Service, recycle the default worker process and restart SQL and Altiris. In minutes the server memory is maxed out and Altiris Service (aexsvc.exe) takes 1.5 ~ 2GB of memory, causing system out of memory exceptions.

As stated before, clearing all licenses resolve the problem but obviously creates a new one: no licenses for inventory, patch or software delivery will render the NS just about as useless as serious memory attrition.

Right, I got to go on the vpn now to check this and see if the temp licenses I sent the customer...

Ludovic Ferre | 30 Nov 2009 | 0 comments
When something goes wrong in a Notification Server some of the event queues can quickly build up and get filled (returning status_full = true). In these cases the best option to check all of the event queues at once is to go to the registry and to look into "HKLM > Software > Altiris > eXpress > Notification Server".
As shown on the featured image (also available below), this registry key shows a number of elements related to the event queues generalized and detailed here:
  • <QueueName>CurrentCount
  • <QueueName>Size
  • <QueueName>Full
  • <QueueName>InvalidCurrentCount
  • <QueueName>InvalidCurrentSize
Where <QueueName> can be:
  • EvtQFast
  • EvtQLarge
  • EvtQSlow
  • EvtQueue

So in a single screen you can check which queue are full (you can see on...

ianatkin | 23 Nov 2009 | 0 comments

 For the last many months, we've been looking into reports of Dell Optiplex 755 computers spontaneously rebooting. The reboots are random, and we've never found a way to force the behavior on demand. In parallel we've had another issue of the 755s hanging on login with a specific image. The image is hardware independent, and only hangs (although not reproducibly) on the 755s.

Because of the reproducibility issue, its been a long road to troubleshoot. We have a test network, and the problems have not manifested there. What we've found is,

  • For the computer hangs on login we've discovered the problem vanishes if the Intel disk controller is configured from AHCI to 'Legacy IDE'
  • If we disconnect the DVD drive with the controller in AHCI mode the issue vanishes

So, degrading the controller to 'Legacy IDE' seemed to be good resolution/workaround at least for the hanging issue, so we were going to proceed by...