Throttling state

Use the following steps to access the performance counters.

On the Desktop, click Start, point to Programs, point to Administrative Tools, and then click Performance.

In the Performance dialog box, click Add.

In the Add Counters dialog box, from the Performance object drop-down list, select from the available BizTalk:Message Agent performance counters, and then click Add.

In the Add Counters dialog box, do one of the following:

After selecting the counters, click Add and then click Close.

For each Host instance,the throttlings state are shown with « Message delivery throttling state » and « Message publishing throttling state »

When there is no throttling, their values are 0. But when they got throttlhing state, their value could be 1 to 11

Here is their definition :

Message delivery throttling state A flag indicating whether the system is throttling message delivery (affecting XLANG message processing and outbound transports).

  • 0: Not throttling
  • 1: Throttling due to imbalanced message delivery rate (input rate exceeds output rate)
  • 3: Throttling due to high in-process message count
  • 4: Throttling due to process memory pressure
  • 5: Throttling due to system memory pressure
  • 9: Throttling due to high thread count
  • 10: Throttling due to user override on delivery
Message publishing throttling state A flag indicating whether the system is throttling message publishing (affecting XLANG message processing and inbound transports).

  • 0: Not throttling
  • 2: Throttling due to imbalanced message publishing rate (input rate exceeds output rate)
  • 4: Throttling due to process memory pressure
  • 5: Throttling due to system memory pressure
  • 6: Throttling due to database growth
  • 8: Throttling due to high session count
  • 9: Throttling due to high thread count
  • 11: Throttling due to user override on publishing

For fixing throttling, start by readung this link http://msdn.microsoft.com/en-us/library/aa559893(BTS.10).aspx

Then I wish you luck

Publicités

Biztalk 2010 Cumulative update 6 and BizTalk Adapter Pack cumulative update 3

On July 16th, the new CU (cumulative update) package for BizTalk 2010 became available . This CU contains lot of kb (see the list below)
For BizTalk 2010, you can download here : http://support.microsoft.com/kb/2855367/en-us
BizTalk Server EDI support

KB article number Description
2777584 FIX: The value for the « maxOccurs » attribute is invalid when you validate the BizTalk X12 EDI 835 schema in a BizTalk EDI application in BizTalk Server 2010
2778133 FIX: Message is suspended when you try to receive an encrypted AS2 message together with asynchronous MDN in BizTalk Server 2010
2858166 FIX: « Too many data elements » error when you receive an EDI X12 997 message in BizTalk Server 2010
BizTalk Server Adapters
KB article number Description
2811803 FIX: First submitted message takes longer to process than expected after periods of inactivity when you use a BizTalk Server 2010 WCF-Custom adapter
2855762 FIX: SQL connection leak when you use WCF-based SQL Adapter one-way send port to return a result set from a database in BizTalk Server 2010
2813294 FIX: 2-way WCF-BasicHttp receive port does not respond to a WCF client when the « failed message routing » feature is enabled in BizTalk Server 2010
2823757 FIX: The memory that a BizTalk host process consumes increases when there are no messages in the queue in BizTalk Server 2010
2804250 FIX: You cannot send files from an FTP server to BizTalk Server 2010 by using the FTP adapter when you specify a temporary folder as an absolute path
2742875 FIX: JDE and TibcoEMS adapter property assemblies contain no namespace and all properties are missing in BizTalk Server 2010

BizTalk Server Design Tools

KB article number Description
2818904 FIX: NullReferenceException exception when you use the « BizTalk WCF Service Publishing Wizard » to publish schemas as WCF services
BizTalk Server Message Runtime, Pipelines, and Tracking
KB article number Description
2792865 FIX: A send port that subscribes to an ErrorReport namespace context property cannot deliver an output message in BizTalk Server 2010
2802453 FIX: Pipeline on receive locations reverts to pass-through after you update the schema assembly in BizTalk Server 2010
2836801 FIX: « The transaction has already been implicitly or explicitly » error message when you deploy a large tracking profile in BizTalk Server 2010
2689953 FIX: XML declaration is removed at a receive location that uses BAM tracking and the PassThruReceive pipeline in BizTalk Server 2010

BizTalk Server Administration Tools and Management APIs

KB article number Description
2728652 FIX: The tracking settings of PassThruTransmit and PassThruReceive pipelines are unexpectedly discarded when you remove a BizTalk application in BizTalk Server 2010
2749592 FIX: Slow performance when System Center Operations Manager monitors a computer in BizTalk Server 2010

BizTalk Server Orchestration engine

KB article number Description
2835689 FIX: « The InnerText property is write only » error message when you use System.Xml.XmlDocument in BizTalk Server 2010

For BizTalk Adapter pack, you can download here : http://support.microsoft.com/kb/2617150

VSTS bug number KB article number description
1249726 2845542 FIX: Package variables trigger operations fail when you use BizTalk Adapter for Oracle Database to connect to Oracle Database
1249588 2845538 FIX: « Column ‘PROVIDERTYPE’ does not belong to table SchemaTable » exception when you use BizTalk Adapter for Oracle Database to connect to an Oracle database
1266767 2845536 FIX: Messages become stuck in SM58 when you use a WCF-based SAP Adapter in BizTalk Server 2010
1243883 2836739 FIX: WCF-SAP adapter receive location freezes under heavy load when it works as a tRFC server
1158982 2800376 FIX: WCF-based SQL Adapter stops polling data when daylight saving time ends
1152657 2795080 FIX: SQL Server connections are not released when invalid messages are passed by the WCF-SQL adapter
1055658 2761439 FIX: Configured time-out value for adapter binding properties does not work when a WCF workflow application uses an adapter to connect an LOB Server instance
1031951 2746855 FIX: Database connection leak when you use Microsoft BizTalk Adapter for Oracle Database to receive messages from an Oracle database in BizTalk Server 2010

The Messaging Engine failed to create the receive adapter « WCF-SQL ».

In deployment scenario, I met this error :

The Messaging Engine failed to create the receive adapter « WCF-SQL ».
InboundAssemblyPath: « NULL »

InboundTypeName: « Microsoft.Adapters.Sql.BizTalk.WcfBtsSqlReceiver, Microsoft.Adapters.Sql.BizTalk, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 »

Exception Details: « Could not load file or assembly ‘Microsoft.Adapters.Sql.BizTalk, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Le fichier spécifié est introuvable. »

After quick search we found that the adapter pack x64 was not installed, install it will quick this issue

WCF-SQL and XML parameter

WCF-SQL can be used with a Stored Procedure that has an XML parameter.

The Xml parameter is converted in a string parameter in the generated code. So for passing an XML, you need to convert it in string with encoding.

It exists a simpler manner :

  • In your orchestration, only create your XML parameter as a message
  • Send it via your send port to WCF-SQL
  • Now in the send port click on configure
  • Click the Messages tab, and in the Outbound WCF message body section, choose the Template option.
  • In the XML text box, specify the template that will be used to construct the WCF message. By doing so, you create a message that conforms to the operation for the WCF-based SQL adapter
  • For the ADD_LAST_EMP_XML_INFO stored procedure, you must specify the following template:
    <ADD_LAST_EMP_XML_INFO xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo">
    <xml_info>
    <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/> </xml_info>
    </ADD_LAST_EMP_XML_INFO>
  • The Tag encoding is very important. By specifying string, it’ll replace <> and other special caracter by their encoding (like &gt; …)

This method  is very powerfull, the only problem is you need to ensure that your schema is up to date manually

For more information see MSDN : http://msdn.microsoft.com/en-us/library/dd788497(v=bts.10).aspx

Monitoring WCF service with AppFabric

With AppFabric you can monitor your WCF services.

You’ve got two ways for this :

The first one by editing the config file,

Add this section :

 <microsoft.applicationServer> 
    <monitoring> 

      <default enabled="true" connectionStringName="DefaultApplicationServerExtensions" monitoringLevel="Troubleshooting" /> 
    </monitoring> 
</microsoft.applicationServer>

The connectionStringName attribute should contain a reference to an existing connection string in the ConnectionString section, and that’s the database used by AppFabric to store the monitoring events.

The monitoringLevel attribute specifies the number of events you want to capture in a service execution. The possible values for this setting are,

  • Off (monitoringLevel= »Off”): No data is collected. It would be equivalent to have monitoring disabled.
  • Errors only (monitoringLevel= »ErrorsOnly”):  Only errors and warnings events are collected. This is very useful when you don’t want to incur into performance issues for collecting application events but you still want to know about any error may happen during the execution.
  • Health Monitoring (monitoringLevel=HealthMonitoring): This is the default level and collects enough application events to show different metrics in the AppFabric dashboard.
  • End To End Monitoring (monitoringLevel= »EndToEndMonitoring”). It collects all the events from the Health Monitoring level, plus additional events to reconstruct the message flow. For example, Service A called Service B. You will get also events representing info about the Service B call if monitoring is enabled on Service A.
  • Troubleshooting (monitoringLevel= »Troubleshooting »). This is the most verbose of all, so it is appropriate for troubleshooting an unhealthy application.

The second way is more friendly use :

  1. Start or switch to IIS Manager.
  2. In the Connections pane, select the server, site, or application you want to configure.
  3. Right-click the item. On the context menu, click Manage WCF and WF Services, and then click Configure.Alternatively, you can use the Actions pane instead of the context menu. Find the Manage WCF and WF Services section, and then click Configure.
  4. When the Configure WF and WCF dialog box appears, click the Monitoring tab.
  5. View or change settings as necessary. If you change settings, click OK to apply the settings and close the dialog box, or click Apply to apply settings without closing the dialog box. Click Cancel to close the dialog box without saving. (source MSDN

Note : the second modify the config file too