I have refactored some old components using NSB7 and .NET Core and kept the database in new DB Instance including Service control for NSB7. I also have some legacy components which still use NSB5 and .NET Framework as these need DTC support as these involves multiple databases and these are in the old DB Instance including Service control for NSB5.
To establish communication between new and old components, NSB7 router(Switch) is used. Performance testing is done for two scenarios considering 5K data input.
- All old components use NSB5 and .NET framework - Average time is 3 seconds.
- Some components are refactored using NSB7 and .NET Core. Some components are still in NSB5 and .NET framework to support DTC. - Average time is 3.3 seconds
Here the expectation is refactored components should show some better performance compared to old components but in this case this didn’t happen.
What could be the reason for this less performance? Is this due to NSB7 router which is used to establish communication between NSB7 which use one database instance and NSB5 which use another database instance?
Also old implementation have central database which is used by multiple endpoints, high referential integrity in databases whereas in the new implementation each endpoint has its own database and the referential integrity is avoided.