CMiC Connect Speed Test

What is the document intended to archive?

On several occasions, CMiC came across strange network related scenarios where some users have experienced sub-optimal performance from the CMiC application. This document is a guide to explain how universal testing can be archived for an individual user to eliminate certain network issues.

Type of Users and User Location: The Problem Explained Using a Diagram

There are many types of users accessing CMiC that can be grouped together in different ways. For simplicity, we will consider the following types:

  • Located in the corporate office

  • If there are many corporate offices, then each corporate office can be counted as a separate entity

  • Working from home (extremely popular since the pandemic)

  • Job sites

  • Collaborators

Consider the diagram below of three users and how many problems can occur in a simple scenario. User 1 and User 2 are in the same location and have the same internet provider. User 3 is located in a different location or the internet provider might be different. Example of the problems that CMiC have seen are:

  1. User 1 and User 2 are having no issues while the experience of User 3 is quite poor.

The internet speed of User 3 might be lightning fast. This could be that from the location of the user to the location where the CMiC application is hosted, there are a few internet hops that are not optimized or are in a degraded state. As a result of that this user will be processing very slowly. If you have to access a similar situation as an administrator, it is possible that by talking to User 1 and User 2, there might be a dismissal of the problem for User 3 since everything is working as expected for the majority of users.

  1. Firewall Throttling

Some network administrators like to put caps on network speeds or throttle the traffic for a certain reason. User 3 might be in a special network segment where this occurs so their connection to the CMiC application might be quite slow, hence the CMiC application overall will feel very slow. User 2 and 3 would not experience this at all.

We are not going to mention all of the scenarios that can occur. The main point is that there are various scenarios where a universal speed test might be a simple testing resolution to identify any network related problems which is what we are going to be talking about in this document.

The Architecture of the Test

Each of the application servers has two services running: the main weblogic, which is handling all of the application, and the Oracle HTTP Server, which handles the incoming requests. The Oracle HTTP Server is a last point before it hits the application so the best test is to test the connection between the user’s browser and the Oracle HTTP Server. There is a possibility that there are some issues between the Oracle HTTP Server and Weblogic but this won’t be a network issue since these two are running on the same box.

The easiest way is to download a big file. A big bile gets generated and placed in the location of the OHS configuration files and then users from their location can download it and measure how fast or how long it took to download the file. You want to have a big enough file so that if the user has a connection of 100 MB/second, it can give you some sort of metric. Our suggestion would be to have a file size between 300 to 500 MB for these tests.

Technical Details to Setup the Test

OAM and OAM Exception

The OHS is where the Oracle Access Manager (OAM) is being enforced. OAM is the authentication piece or single sign on provider of a CMiC application. This big file can be placed so that a user needs to authenticate into an application before downloading the file, or it can be placed into a location where OAM would not ask for authentication. This is a security topic, and we can’t advise on how your organization should be setting it up so discuss it with your InfoSecurity or Network team for the security standard of your organization. This can be done both ways and the easiest would be to make sure that this big file does not contain any information, and to put it into an area of OAM exception so that more precise times can be provided for the test.

There is always one OAM exception present in the application which is the Launch Page.

If you place the file in that folder, then the URL of the file to download would be:

Copy
https://<domain_name>/cmiclaunch/speed_test.zip

If you would like the URL to be something that will indicate the speed test, then it can be something like:

Copy
https://<domain_name>/speed_test/download_me.zip

You will need to create the folder speed_test and place it into OAM exception (depending if you want authentication to take place or not).

Generation of a Big File

You can either take an existing large file that doesn't represent any security concern (e.g. Oracle Security Patch ZIP file) or you can generate one.

It is advised that the extension of the file is a ZIP file. The main reason is that if you have a text file, then some browsers will attempt to open it in the browser instead of downloading the file.

If you want to generate a random file, the simplest way would be to use Powershell, but any method of random generation will work. This is a command to randomly generate a test of 300 MB:

Copy
$out = new-object byte[] 314572800; (new-object Random).NextBytes($out); [IO.File]::WriteAllBytes('c:\testfile.txt', $out)

You want to zip the file and, since this is random text, it won’t zip very well, therefore it will be the same 300 MB as well.

Placement of the File

ADF/JSP Server

Launch page location:

Copy
d:\oracle\midtierjsp\user_projects\domains\ohs\config\fmwconfig\components\OHS\instances\ohs1\htdocs\cmiclaunch\

Custom folder:

Note Don’t forget to add an OAM exception for <custom_folder> as OAM Exception

Copy
d:\oracle\midtierjsp\user_projects\domains\ohs\config\fmwconfig\components\OHS\instances\ohs1\htdocs\<custom_folder>\

Mobile Server

The majority of Mobile Servers do not have Launch Page OAM integration. Placing it anywhere under this location will work. If you have AZURE AD integration enabled on Mobile Server, then your OAM exception rules will also apply here.

Copy
D:\oracle\midtiermobile\user_projects\domains\ohs\config\fmwconfig\components\OHS\instances\ohs1\htdocs\

Note If you have multiple APP or Mobile Servers then each of APP/Mobile server will need to have this big file in the same place within the server type.

Publishing the Link and Testing

Once the file is placed, you want to test that it works and then publish the link for speed test with the instructions to the users.

Sample Instructions to the Users

We developed a speed test to test the network speed to the CMiC application. If you are having network issues with the CMiC application, please download the file provided below and take note of how fast the file has been downloaded or what the speed is at which it is being downloaded.

Main Application:

Copy
https://<domain_name>/cmiclaunch/speed_test.zip

Mobile Application:

Copy
https://<mobile_domain_name>/speed_test.zip

This indicates a reasonable speed test.

Speeds of 1 MB/second are probably not enough and maybe showing signs of the problem.

Expected Results

You need to understand and be able to interpret the results. CMiC pages are around 1 MB each so loading of these pages should not be dramatically affected on the network connection. Attachments, images, and drawings are typically much larger than this. If you have some sort of a drawing that is 220 MB and this individual is working from a field where mobile connection is topping at 2 MB/second, then opening such a drawing will take 110 seconds and there is not much that can be done about it.

For any individual who works from the office or home, 5 MB/second or 50 Mbps is the standard now and should be sufficient for most situations. Therefore, a 300 MB file should be downloaded in 60 seconds or less. Most connections are much faster now and download speed will change according to your internet connection.

What to Do When You Don’t See Expected Results

If you see some results that are unexpected, it means that you need to investigate further as to where the slowness might be coming from.

Things that can be done further are:

  1. Elimination of individual hops.

    Reduce the number of hops to reach out to the destination. This is a general term in networking and your network administrator should be familiar with this methodology.

  1. Identification as to where the slowest segment is.

    Between the user's browser and the OHS, there are the following items that can be further drilled into to see if any of them cause significant slowness for end users.

    • ISP

    • Firewalls

    • Network Throttling

    • VPNs

    • LBs