Skip to Content
avatar image
Former Member

COM component build by PowerBuilder 11.2.

I have a COM component build by PowerBuilder 11.2. This was used by Web application. The COM component has core business logic used to interface between web UI and database. We have an issue when the WEB application is used by more than 30 users concurrently the application is slows down. The network bandwidths are looks good.


Is there any limitation on the PBVM? or the COM component cause this slowness?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jan 07, 2015 at 05:07 PM

    We found the same issue with our COM objects when the server was loaded up with about  15/25 connections using Windows Server 2003 and 2008.  The problem was memory.  Each connection will instantiate the COM and the PBVM along with any supporting DLLs.  We increased the memory in the 2008 Server to 16GB and this seems to support about 40 users max.

    If your COM uses ODBC to connect to the DB, you can turn on Connection Pooling (run ODBCAD32) and that does help a little.

    Randy

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Yes RAM was the issue.

      Not sure how you can prove it to them other than using Performance monitor and logging the data then reviewing the log for the time period where the number of concurrent users exceeds your threshold.

      The server may not exceed the amount of memory available.  It all depends on how it is setup and memory is allocated to the server processes.  When a process exceeds its allocation it starts swapping out to disk thus slowing down.

      RAM is cheap and any Windows Server can always use more.

      Randy

  • avatar image
    Former Member
    Jan 07, 2015 at 04:13 PM

    Hi Senthil;

      It could be one of many reasons ...

    1) Memory issues due to the PBVM loaded for each instance of the OLE.

    2) DBMS client connection limitation.

    3) DBMS locking issue.

    4) No DBMS connection pooling

    5) Multi-threading issue (or lack there of) in the PBVM / OLE implementation

    etc

    I think that this could be a hard one to pinpoint.

    Regards ... Chris

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      "PBVM loaded for each instance of the OLE" - PBVM memory is part of the worker process or I can see it separately on the task manager? When I release the COM object it should release memory as well right?