cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6204
Views
8
Helpful
11
Replies

UCCX 11, Finesse, Live Data, SocketIO, High CPU and IE9

Anthony Holloway
Cisco Employee
Cisco Employee

This is a post about UCCX v11.0(1) and Internet Explorer v9, but could apply to many other combinations of these features.  Such as FireFox or IE10 or IE11.  Basically, it's about the browsers ability to use WebSockets correctly.

I have seen that with the introduction of SocketIO in UCCX v11, which is what handles Live Data requests from Finesse, that IE9 does not use WebSockets, and instead falls back to just plain HTTP GET requests.  And A LOT of them!  In fact, on a 300 Agent OVA with only 50 Agents logged in, we see the SocketIO process spike to 100%+ ("show process load num 5 cpu") and the VM CPU in vSphere shows 100% as well.  When Agents logout, the CPU returns to normal.

Has anyone else seen this behavior, or heard of it happening?  Can Cisco comment on if this is the official reason IE9 lost support in UCCX v11, which is when SocketIO was introduced?

It looks like others outside of Cisco have seen issues with IE9 and SocketIO, but it also appears that there is a workaround too:

http://stackoverflow.com/questions/12993704/ie-and-socket-io-compatibility

Here is a screenshot of what IE9 looks like making all of its requests to UCCX.  These happen one right after the other, about 1 per second, maybe faster.

ie9-socketio.png

Here is a screenshot of what IE10 (I'd imagine this is the same for IE11) looks like making a single requests using WebSocket technology:

finesse-fixed.png

And for one more, here is FF42 using WebSockets properly as well, just like IE10.  It's important to note that that amount of data being transferred in these three scenarios, as far as Live Data goes, is the same, the real difference is the way the data is transferred: a single socket connection, or multiples.

firefox-socketio.png

11 Replies 11

dekwan
Cisco Employee
Cisco Employee

Hi,

IE 9 lost support in Finesse 11.0 for many reasons, but I cannot confirm specifically that the SocketIO was one of them. IE 9 just could not keep up with the changes that were being made to the UI in v11.0 so support for IE9 was removed.

I believe that IE9 support was removed before the LiveData gadget was even tested so we did not encounter the SocketIO issue you are pointing out.

Thanx,

Denise

Thank you for your reply, that was very helpful.

If you don't mind my asking, how do you know about the IE9 qualification testing and support?

Hi,

I know about the IE9 qualification testing and support because I was a Finesse developer .

Thanx,

Denise

Oh, then even more of a thank you for replying.  Did you work on the SocketIO enhancement in v11?

No I did not. Another team worked on that.

To follow up with this, we have began to upgrade Agents to IE11, and we're seeing a drop in CPU utilization.  This is looking like the culprit.

Perhaps the Finesse Team should have put in some browser sniffing code (or feature sniffing code) and issued a warning in the browser to the effect of "Your browser does not support WebSockets.  Please use a supported browser" and then simply disabled Live Data feeds.

Amazon Video does it:

TljMl.png

Good to hear that upgrading to IE11 is helping with the CPU utilization. That is a good point about having a warning on the browser. I will pass this on to the Finesse team.

Thanx,

Denise

nelcnetworks
Level 4
Level 4

Hi

I have recently upgraded to Finesse 11 and am getting similar problems to you . I have instituted an upgrade to IE11 but that has not fixed the issue in many cases. Is there something I can do to the IE 11 client to speed up the live data, a plugin or a setting for example.

Thanksa

You will need to determine if your IE11 is running in compatibility mode, which I'm guessing it is.  If it is, then you will not see any difference in performance change, since IE11 in compatibility mode is essentially IE8.

The User Agent string would look like this, when IE11 is in compatibility mode, and acting like IE8:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)

When IE11 is in native mode the UA string looks like this:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; rv:11.0) like Gecko

Sorry for being a bit dense on this. I was under the impression that on IE11 you can specify compatibility mode for specific sites as opposed to on or off for everything.