xsharp.eu • Poorer performance compared to VO to X# when using the bBrowser
Page 1 of 1

Poorer performance compared to VO to X# when using the bBrowser

Posted: Wed Nov 22, 2023 2:09 pm
by mk_schmid
Hello X# community,
we have a VO application that has been ported to X#. The database server is ADS 11 and we use bTools.bBrowser version 4.3 to display list overviews.
When using the bBrowser, we have considerable performance degradation in various places compared to the original VO application within the same infrastructure.

What can we say:
- The applications run on terminal servers, the ADS server on a dedicated Windows server, all servers are virtualized.
- It gets worse the larger the tables are. Large tables more than 15000 rows and more than 100 columns.
- bBrowser:Server:Notify(NOTIFYFILECHANGE) Runtime up to 5 seconds.
- The search with bBrowser:Server:Locate is executed for non-index fields when entering in a search field. The first pass takes less than 1 second, all further passes from the input of the 2 character take 4 seconds and longer. At the end of the method Serach() bBrowser:Server:Notify(NOTIFYFILECHANGE) is called again which adds a few more seconds.


The longer running times of the VO for the X# application at the locations described are worse by a factor of 2 to 5.

Does anyone have an idea which switches, settings or whatever else can be checked or what could cause this deterioration compared to the VO application?

Many thanks in advance!

Here is an example of what happens when you enter the word "OTTO" in the search field.

[12:06:14 INF] stdBrowser Search Start width Key 79 00:03:00.0696
[12:06:14 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "O") Start 00:03:00.0700
[12:06:15 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "O") End 00:03:01.0296
[12:06:17 INF] stdBrowser Search End width Key 79 00:03:03.0697

[12:06:17 INF] stdBrowser Search Start width Key 116 00:03:03.0704
[12:06:17 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OT") Start 00:03:03.0708
[12:06:22 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OT") End 00:03:08.0245
[12:06:24 INF] stdBrowser Search End width Key 116 00:03:10.0709

[12:06:24 INF] stdBrowser Search Start width Key 116 00:03:10.0714
[12:06:24 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OTT") Start 00:03:10.0718
[12:06:29 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OTT") End 00:03:15.0379
[12:06:31 INF] stdBrowser Search End width Key 116 00:03:17.0948

[12:06:31 INF] stdBrowser Search Start width Key 111 00:03:17.0953
[12:06:31 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OTTO") Start 00:03:17.0961
[12:06:36 INF] stdBrowser Search Server:Locate(Upper(NAME1) = "OTTO") End 00:03:22.0587
[12:06:38 INF] stdBrowser Search End width Key 111 00:03:25.0172

Re: Poorer performance compared to VO to X# when using the bBrowser

Posted: Fri Nov 24, 2023 6:13 am
by mk_schmid
Good morning,
in further test the call of bBrowser:Server:Notify(NOTIFYFILECHANGE) of servers with several or many (more than 10) child relations crystallizes out as the place where much runtime is needed.

Does anyone have an idea what I could check or try, are there any settings I might have overlooked?

Re: Poorer performance compared to VO to X# when using the bBrowser

Posted: Fri Nov 24, 2023 8:11 am
by robert
Christian,
Can you create a small example?

Robert

Re: Poorer performance compared to VO to X# when using the bBrowser

Posted: Fri Nov 24, 2023 9:43 am
by VR
One benefit of using dotnet is, that you can use a Performance Profiler...

Visual Studio has one, which is quite good.
https://learn.microsoft.com/en-us/visua ... ew=vs-2022

I personally use DotTrace and DotMemory from JetBains. They are payed licences but there is a 30 days free trial.
https://www.jetbrains.com/profiler/

Re: Poorer performance compared to VO to X# when using the bBrowser

Posted: Sun Nov 26, 2023 4:12 pm
by mk_schmid
Hello,

@Robert, creating a sample application is difficult because the problems are very central to our application and may be related to our data structure and how we integrate it.

@VR, I already use the Visual Studio Performance Profiler but thanks for the information.

With the analysis tools I could localize two places in bBrowser and bBServer which Joachim Bieler will have a look at. I will report here as soon as I know more.

Regards