cancel
Showing results for 
Search instead for 
Did you mean: 

Unity.PageData.Stream slow

Nick_Askew
Champ in-the-making
Champ in-the-making

Hi,

Using the Unity API (v11), has anyone had an experience using the Unity.PageData.Stream object to pull date from within OnBase and noticed any performance issues?

I have a problem whereby the App Server hardly uses any CPU (total machine CPU use < 2%) yet only manages to stream documents to me through the Unity.PageData.Stream object at around 700,000 bytes per seconds (this is the only task the server is performing).  I need to understand if this is normal or whether I have a very poorly test environment!

Thanks in advance,

Nick

6 REPLIES 6

Not applicable

Hi Nick,

The nature of the documents matters; is this one big document, or several? With small enough files, this could be no surprise. For a larger file, there is still more information necessary to contextualize your rate.

I'd look at where you are getting the data from (Disk Groups), in terms of bandwidth and speed to copy. I'd also look at the network link between you and the app server. The rate you describe is equivalent to a 6mbit link, which is as fast as most Internet connections.

Specific tests:

Copy large file from disk group to get rate of transfer to app server.

Place large file in site root, retrieve through browser to derive http bandwidth.

Use Diagnostics Console with everything on to see what takes time, and trace from request arriving through file traffic, database queries, and service methods completing.

Hope that helps. 

- Eric Proegler, DataBank

Daniel_Quill
Elite Collaborator
Elite Collaborator

Hi Nick,

What build are you working with (e.g. 11.0.2.123)?  Also, what is it you are doing with the stream (e.g. Saving to file)?  If you are using a build prior to 11.0.2.xx than you may experience delays in some situations.  There are have been significant performance updates to the OnBase Core in 11.0.2.xxx.

You may want to test the latest build of OnBase to see if the performance is better.  If you wish to download the latest build please contact Hyland's Technical Support as they can provide you with the software.

Regards,

Hyland API Support

Nick_Askew
Champ in-the-making
Champ in-the-making

Thank you for taking the time to repond Eric.

I had already tried some of your suggestions:

Bandwidth between my dev machine and the VM hosting the OnBase platform (4 CPU cores, 4GB RAM) is 1Gb

I set up a basic web page to provide me with a basic mechanism to copy files from the disk groups, 22MB files < 1 second.

Time to copy between my dev machine and the VM via a file share, 22MB file < 1 second.

If I copy the PageData.Stream directly into a byte array the time for a 22MB file is ~17.5 seconds from placing the request to obtaining the last byte, time to save the byte array to disk is 22ms.

I am using Core.GetDocumentByID, so hardly any SQL queries running, IIS has plenty of RAM, the CPU remains <2% for the entire machine (not just the w3p process) whilst the stream is in progress.

I'll try Daniel's suggestion below next and download v11 SP2.

Many thanks

Nick

 

Nick_Askew
Champ in-the-making
Champ in-the-making

Thanks for responding Daniel,

Currently using v11.0.1.118 so I'm just downloading SP2 and will give that a test drive tomorrow.

(as above, this is the raw time taken from receiving the first byte to the last byte and saved into a byte array)

Thanks
Nick