1

I have about 1500 Dynamic Send ports and now it is almost impossible to use Administration Console because of its performance. It takes just 10 minutes to refresh application or 1 hour to delete a Dynamic port or Application. 

We have noticed that there are enormous amount of query on bts_dynamic_Sendport_handlers table and this cause problem. Whenever I try to do anything , foreach sendport it makes a query on this table and as there is 30.000 records here, it takes too long time because same query works 1500 times at least.

Dijkgraaf
  • 9,324
  • 15
  • 34
  • 48
Kenank
  • 153
  • 7
  • Is there any reason you need this many dynamic send ports? Having about 1500 dynamic send ports indicates you either have a LOT of applications or you are not using the full potential. Can you shed a light on this? – Pieter Vandenheede Oct 11 '16 at 11:06
  • This is an update project from BTS 2006 to 2013R2 so this many sendports was a very old decision. As this is a banking system I do not have any chance for change. – Kenank Oct 11 '16 at 11:12
  • But if you're updating it, this is the time to fix things like this. Clearly, this was a pretty bad decision or they didn't know how Dynamic Ports worked. 15 would be *a lot* of Dynamic Ports, let along 1500. Since you have to fully test everything anyway, this should be part of the upgrade plan. There's other things you will have to fix anyway because of the multiply version jump. – Johns-305 Oct 11 '16 at 11:50
  • Yes I completly agree with you but at this point it is almost imposible for me to change it . There are 1500 orchestration and 1500 send ports.It is what it is.somehow I should upgrade this system to BTS2016. I beleive this is a bug on the other hand. This table is new in BTS2013 and the performance was not tested well. – Kenank Oct 11 '16 at 11:59

1 Answers1

0

You have the following options

Option A.

As others have said reduce the number of dynamic ports. You should be able to do this by

  1. Exporting your bindings
  2. Export a MSI without bindings
  3. Edit your bindings so that all the orchestrations in the application use the same dynamic send port and deleting the ones no longer used.
  4. Gracefully shutting down your application (stop receive location etc.)
  5. Delete the whole application
  6. Import your MSI into BizTalk
  7. Importing the edited binding file
  8. Restart your application

Note: You would want to test this in a non production environment first.

Option B:

Raise this issue with Microsoft and wait for a hot patch fix or CU to fix it.

Option C:

Add a index to bts_dynamic_Sendport_handlers table

Note: The above would probably put your server outside of Microsoft Support, so I would not recommend this.

Dijkgraaf
  • 9,324
  • 15
  • 34
  • 48
  • There is index on the table but there is no wherr clause in the query so adding index does not change anything. – Kenank Oct 13 '16 at 00:36
  • @user1867205 Then I would contact Microsoft and raise it as an issue as per Option B – Dijkgraaf Oct 13 '16 at 00:45