We are building a voice and video solution using WebRTC - mostly to work on Chromium-based browsers such as Google Chrome and Microsoft Edge.
On the Chrome developer console - network tab, there is a feature to see how your app performs under various simulated network conditions such as fast-3G, slow-3G, or altogether going offline.
Unfortunately, the network simulations do not work on WebRTC apps. I am assuming this is due to WebRTC using UDP protocol, and the network throttle is built for TCP.
Can you suggest ways to simulate varying network conditions? We want to test how the video app performs on varying bandwidth and latency conditions. Are there any plugins that would simulate this? It would be good to have the Google Chrome team extend their network throttling feature to include voice, video, and data streams that primarily run on UDP.
I looked at How to profile web workers in Chrome? etc but the advise there is for older versions of chrome and now seem to be dated.
How can I profile the memory of a web worker (take snapshots and compare them) in chrome >86 ?
In the Memory panel, you have to select which JavaScript VM you want to profile:
I have this 1 Mb file for testing purposes (though the issue applies to any file hosted at lptoronto.com): https://lptoronto.com/sandbox/test.png
It always loads instantly in Internet Explorer (both via http and https).
In Google Chrome (currently Version 63.0.3239.132 (Official Build) (64-bit) on Windows 10) the situation is as follows.
When fetched via http, this file loads instantly without an issue.
When fetched via https, the same file takes about 40 (!) seconds to load (with very rare and irregular exceptions, when it also loads fast via https on occasion).
Chrome network monitor shows that all that 40 seconds the image is being slowly but steadily downloaded at low speed, i.e. there is nothing like waiting for server response etc.
Here's the screencast showing IE and Chrome side-by-side loading the same image:
https://www.youtube.com/watch?v=M4cUuhG1YuM
From time to time the issue disappears for a few minutes or an hour, but then re-appears again, without me doing anything on my side.
Same behavior is observed on at least one other computer - the one of my colleague (different ISP, different location).
Needless to say that I'm testing in a clean environment - cache cleared, extensions, firewall, antivirus disabled, connection verified and measured etc.
No Chrome issue whatsoever with any other website, be it http or https.
Hosting provider is yet unable to troubleshoot on their end, but they're still trying to help (it takes some time). They tried disabling mod_deflate, re-installing SSL, disabling caching rules, but to no avail.
The same issue was once observed about 2 months ago. That time I asked the hosting provider to disable SSL completely just to be able to work on my website content. When they re-enabled SSL in less than a day, the issue has gone; but now it re-appeared again, and there is no clue as to what is going on.
The bottomline:
issue appears only in Chrome, only with certain site, only with https
changing only the browser solves the issue
changing only the protocol (https to http) solves the issue
I honestly tried to google out anything similar, but failed to.
I would appreciate if you try the link above in the incognito Chrome window and report the load/refresh time, and of course any ideas are more than welcome.
In Loadrunner Truclient protocol while recording the web application Google Chrome/Firefox instances is opening in incognito mode but the issue is my application will not work incognito mode.
My application is working fine in only normal mode of Google Chrome/Firefox instances.
Could anyone please let me know during recording with truclient how to change the Chrome/Firefox instances from incognito mode to normal mode.
You already posted this question on the official product forum (https://community.softwaregrp.com/t5/LoadRunner-Practitioners-Forum/Urgent-Truclient-chrome-instance-is-opening-in-Incognito-mode/m-p/1624503) and got a response by the lead developer of the TruClient protocol.
His answer is:
TruClient runs the browser in Incognito/Privacy mode to allow separation of
Vusers during a load test.
This cannot be disabled or changed.
Perhaps you can elaborate on why your application is not working in these
modes, so we can try to find a workaround.
and then
Some browser features behave differently in privacy mode.
For example, IndexedDB cache mechanism is not implemented in Firefox
private mode [See the bug in Mozilla]
https://bugzilla.mozilla.org/show_bug.cgi?id=781982
From the error you mentioned, it seems this is related a similar browser issue.
As mentioned before, it is not possible to run TruClient in non-private mode.
Workaround: Run one full GUI Virtual User in a singular operating system instance. run one of these per business process on dedicated OS instances. Run the remainder of your load using API level (HTTP) virtual users.
Is there a way I can simulate various connection speeds from within Chrome?
I need to be able to check http://localhost with varying speeds.
I know there are standalone applications that can do this, but I'd rather do this inside Chrome.
If you are running Linux, the following command is really useful for this:
trickle -s -d 50 -w 100 firefox
The -s tells the command to run standalone, the -d 50 tells it to limit bandwidth to 50 KB/s, the -w 100 set the peak detection window size to 100 KB. firefox tells the command to start firefox with all of this rate limiting applied to any sites it attempts to load.
Update
Chrome 38 is out now and includes throttling. To find it, bring up the Developer Tools: Ctrl+Shift+I does it on my machine, otherwise Menu->More Tools->Developer Tools will bring you there.
Then Toggle Device Mode by clicking the phone in the upper left of the Developer Tools Panel (see the tooltip below).
Then activate throttling like so.
If you find this a bit clunky, my suggestion above works for both Chrome and Firefox.
I'd recommend Charles Proxy - you can choose to slowdown individual sites, also has a whole bunch of HTTP inspection tools.
Edit:
As of June 2014, Chrome now has the ability to do this natively in DevTools - you'll need Chrome 38 though.
The option is accessible from the Network tab via a drop down at the end of the toolbar.
Starting with Chrome 38 you can do this without any plugins. Just click inspect element (or F12 hotkey), then click on toggle device mod (the phone button)
and you will see something like this:
Among many other features it allows you to simulate specific internet connection (3G, GPRS)
As of today you can throttle your connection natively in Google Chrome Canary 46.0.2489.0. Simply open up Dev Tools and head over to the Network tab:
As Michael said, the Chrome extension API doesn't offer a reliable way of doing this. On the other hand: there's a software I've been using myself for quite some time.
Try Sloppy, a Java application that simulates low bandwidth. It's browser independent, it's very easy to use and, best of all, it's free!
If you are on a Mac, the Chrome dev team recommend the 'Network Link Conditioner Tool'
Either:
Xcode > Open Developer Tool > More Developer Tools > Hardware IO Tools for Xcode
Or if you don't want to install Xcode:
Go to the Apple Download Center and search for Hardware IO Tools
https://developer.apple.com/downloads/index.action
Original article: https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/
Simulate Slow Connection using Chrome
Go ahead and install Chrome if you don’t already have it installed on your system. Once you do, open a new tab and then press CTRL + SHIFT + I to open the developer tools window or click on the hamburger icon, then More tools and then Developer tools.
This will bring up the Developer Tools window, which will probably be docked on the right side of the screen. I prefer it docked at the bottom of the screen since you can see more data. To do this, click on the three vertical dots and then click on the middle dock position.
Now go ahead and click on the Network tab. On the right, you should see a label called No Throttling.
If you click on that, you’ll get a dropdown list of a pre-configured speed that you can use to simulate a slow connection.
The choices range from Offline to WiFi and the numbers are shown as Latency, Download, Upload. The slowest is GPRS followed by Regular 2G, then Good 2G, then Regular 3G, Good 3G, Regular 4G, DSL and then WiFi. Pick one of the options and then reload the page you are on or type in another URL in the address bar. Just make sure you are in the same tab where the developer tools are being displayed. The throttling only works for the tab you have it enabled for.
If you want to use your own specific values, you can click the Add button under Custom. Click on the Add Custom Profile button to add a new profile.
When using GPRS, it took www.google.com a whopping 16 seconds to load! Overall, this is a great tool that is built right into Chrome that you can use for testing your website load time on slower connections. If you have any questions, feel free to comment. Enjoy!
In Chrome Canary now you can limit the network throughput. This can be done in the "Network" options of the "Emulation" tab of the Console in the Dev Tools.
You might need to activate the Chrome flag "Enable Developer Tools experiments" (chrome://flags/#enable-devtools-experiments) (chrome://flags) to see this new feature. You can simulate some low bandwidth (GSM, GPRS, EDGE, 3G) for mobile connections.
if you're not familiar with Fiddler - please do. It's a great debugging tool for HTTP. You also have the option to limit the bandwidth.
I don't think what you ask can be done by chrome alone. The closest I could find was this, which isn't what you want. I getting a chrome plugin to do it would be Hard.
A web proxy running on your local machine could achieve the effect you want. A search for "throttling proxy" came up with this, for example.
As suggested on the Chrome Mobile Emulation page, you can use Clumsy on Windows, Network Link Conditioner on Mac OS X and dummynet on Linux.
If you are using OSX, you can use: Network Link Conditioner
Here you can select different profiles ie. 100% Loss, 3G, DSL etc.
Please find the below link to download Network Link Conditioner here