phetsims / joist

Joist is the main framework for PhET Interactive Simulations. Joist creates and displays the simulation content, home screen, navigation bar, About dialog, enables switching between tabs, and other framework-related features.
http://scenerystack.org/
MIT License
9 stars 6 forks source link

Slow loading on phettest #519

Closed KatieWoe closed 5 years ago

KatieWoe commented 6 years ago

@arouinfar and I have both noticed that load times for phettest sims have been very slow. The load bar does not seem to progress until the sim has almost entirely loaded as well. Times can last up to a minute. On Win 10 Chrome I've been noticing 10-30 seconds on average, sometimes longer. I have been using a Win 10 primarily on Chrome and Firefox. @arouinfar uses a MacOS 10.13. on Chrome.

samreid commented 6 years ago

I tested launching http://phettest.colorado.edu/wave-interference/wave-interference_en.html?ea&brand=phet on my MacBook Pro on 10.13.6 running Chrome Version 69.0.3497.81 (Official Build) (64-bit) over my home network with VPN and it launched in about 5 seconds.

samreid commented 6 years ago

I tested a few other sims as well as Firefox and saw about the same behavior 5 seconds for Arithmetic, (around 7 seconds to launch Build An Atom). Can you have other QA team members try to replicate the problem?

KatieWoe commented 6 years ago

I asked @JRomero0613 to take a look. I did just look at the ones you said and I seem to be getting faster times on them. It does seem to vary by sim and updating Chrome seems to improve times a bit. It still seems slower than the website or load times usually are. Try http://phettest.colorado.edu/circuit-construction-kit-dc-virtual-lab/circuit-construction-kit-dc-virtual-lab_en.html?ea&brand=phet or http://phettest.colorado.edu/area-model-algebra/area-model-algebra_en.html?ea&brand=phet or http://phettest.colorado.edu/build-a-molecule/build-a-molecule_en.html?ea&brand=phet

Make sure you're in incognito. Seems to load faster the second time.

arouinfar commented 6 years ago

@samreid that took well over 30 seconds to load on my Mac, also running macOS 10.13.6. My Chrome was slightly out of date (version 68) so I updated. Wave Interference still took quite a bit of time to load on the latest Chrome -- 12 seconds.

KatieWoe commented 6 years ago

@samreid I went to network in the developer tools to look at the loading times for the requests. This was suggested by @jbphet. Not sure if it helps, but the phettest version had significantly more requests than the published version. It also took somewhere over 10 seconds to reach the interactive part of the sim, where the published version took just under 4 seconds. Hope this helps pin down any possible issues, if any. Published version: publish Phettest version: phettest

JRomero0613 commented 6 years ago

I have just tested about 30 sims and get an average loading time of ~9.5 seconds. Many sims take around 5 or 6 seconds to load, however there are some (around 5 sims) that take 20+ seconds to load, so this drags the average up. If specific sims need to be tested for loading times let me know and I can test.

arouinfar commented 6 years ago

I tried loading Wave Interference again from phettest, and the load time is pretty inconsistent. When writing https://github.com/phetsims/joist/issues/519#issuecomment-418849057 the load times were ~12 seconds. Now, it's taking ~ 30 seconds. Both with latest Chrome.

samreid commented 6 years ago

@KatieWoe said @jonathanolson has been tinkering with phettest--may be correlated with what we are seeing.

jonathanolson commented 6 years ago

Looks like there is a terminal open taking up 100% cpu:

53261 Terminal 99.9 3047 hrs

It's probably worth checking the open terminals in person to see if there's something we can restart.

arouinfar commented 6 years ago

@jonathanolson reported in dev-public:

I turned off something on phettest that may have been slowing things down. Can someone check to see if it feels faster?

@zepumph said:

less than 5 seconds for each sim link pressed (requirejs)

I tested a few sims out, and all were terribly slow.

I'm running macOS 10.13.6 and Chrome 69.0.3497.81 (latest).

KatieWoe commented 6 years ago

Just did a quick check myself. Some seemed faster this morning, but I just got significant load time on the area model multiplication sim.

arouinfar commented 6 years ago

Could it be a traffic issue? Perhaps we're all trying to access phettest in the afternoon, but less before status? The load times weren't as long when I was checking before status.

zepumph commented 6 years ago

Perhaps there is a difference between remote on vpn and on campus.

phet-steele commented 6 years ago

Took me 2 seconds to load MAS using VPN just now.

arouinfar commented 6 years ago

Took me 2 seconds to load MAS using VPN just now.

I just clocked 13 seconds on UCB Wireless.

I decided to re-test the sims from my earlier https://github.com/phetsims/joist/issues/519#issuecomment-419201156. I'm seeing significant improvement in most cases. I'll test again later this afternoon.

samreid commented 6 years ago

Would it be better for people on the team to clone & serve the sims on their own machines? It sounds complicated but it isn't complicated.

phet-steele commented 6 years ago

Would it be better for people on the team to clone & serve the sims on their own machines?

For some people, sure. I started doing that after a while. Told @arouinfar how to but I bet she hasn't been doing that anymore 😝. But for other people who don't need to look at master often, phettest should still be up and running. It's easier and quicker to have one machine to maintain (ie. keeping up to date) than having every individual person remember.

jonathanolson commented 6 years ago

Also if people are just running things off of "latest master", bayes' CT is fairly up-to-date, so you can load sims like https://bayes.colorado.edu/continuous-testing/beers-law-lab/beers-law-lab_en.html?brand=phet&ea

Might be worth a speed comparison check.

samreid commented 6 years ago

I thought bayes CT was continually swapping out different snapshots. How does the continuous-testing/ directory work?

jonathanolson commented 6 years ago

It basically is in a continuous "pulling" loop that is interrupted while it creates a snapshot.

samreid commented 6 years ago

@jonathanolson and @mattpen do we have gzip enabled for phet-dev and phettest?

@KatieWoe are you interested in having the simulations checked out on your primary computer? Or if you are switching devices frequently that may not be too helpful.

KatieWoe commented 6 years ago

@samreid it might be useful, I'm not sure. Maybe we could discuss it later this week?

mattpen commented 6 years ago

@samreid I enabled compression for phet-dev, it is much faster now. I currently don't know how to access phettest and I don't know which application(s) are serving the sims there. @phet-steele was managing this if I recall correctly, I'm not sure who is responsible for it now. @jonathanolson, are you able to help with that machine?

KatieWoe commented 6 years ago

@samreid @arouinfar @jonathanolson loading is back down to a crawl. It took over two minutes to load one of the sims. This one took over a minute, see below. Filmed so that screen capture does not change run time. https://drive.google.com/file/d/1LI777DRN2EgDnUAfWs_aiopgi-ts3CEu/view?usp=sharing

arouinfar commented 6 years ago

Here are some of the fabulous speeds I've experienced today.

For the record, I do have a local copy, and know how to use it. The user experience on phettest is vastly superior to dealing with the unix terminal (until the load speeds become so horrendous, that is). I also don't think it's reasonable to require all team members to use a local copy, particularly when it comes to QA testers.

samreid commented 6 years ago

Marked for developer meeting so we can decide how to address this. 90 seconds is too long for our teammates to load a simulation.

arouinfar commented 6 years ago

Thanks @samreid!

Today's been particularly bad, but I've also noticed that the internet speeds in Duane have been somewhat slower than normal. In general, sims on phettest have been taking in excess of 30 seconds for the past two weeks or so. Occasionally I'll get lucky and a sim will load in about 10s, but that's rare, and still noticeably slower than it used to be.

jonathanolson commented 6 years ago

@arouinfar maybe I could help debug in-person or with zoom? I'm getting sims loaded in 3-4 seconds remotely over VPN.

I'm curious if clearing the cache / checking browser plugins / incognito tabs / network debugging etc. could help.

jessegreenberg commented 6 years ago

Just another data point, sims listed in https://github.com/phetsims/joist/issues/519#issuecomment-420799813 are loading in 8-10 seconds for me remotely over VPN.

arouinfar commented 6 years ago

Thanks for the offer @jonathanolson! If time allows, can you can stop by my office after dev meeting?

My general approach has included:

Today, phettest is pretty speedy, but for good measure I completely wiped by browsing history and cache. The sim load times appear unaffected.

The load times have been pretty inconsistent. There have been rare good days (like today) and abysmal days (like yesterday), but most of the time I'm hovering around 30 second load times. Generally speaking, @KatieWoe has been experiencing similarly long load times on her machine (Win10).

jonathanolson commented 6 years ago

Was discussed that it may be related to the wifi connection. @KatieWoe can you try an ethernet connection to see if it helps?

I'll stop by after dev meeting to try to get this solved.

arouinfar commented 6 years ago

I'll try the ethernet connection next time phettest is acting up and see if that helps. Thanks @jonathanolson!

jonathanolson commented 6 years ago

I talked with @KatieWoe about this for a bit. I also recommended testing https://bayes.colorado.edu/continuous-testing/beers-law-lab/beers-law-lab_en.html?brand=phet&ea when it's slow (this is the same "mode" of loading a sim, but from bayes), see if ethernet helps, and see if different browsers makes a difference. Someone in dev meeting mentioned that switching to guest wifi may also help.

Feel free to message/zoom me when it's happening, and I can help and test from my end.

arouinfar commented 6 years ago

@jonathanolson to make sure I understand, do I simply replace the portion of the sim URL before the sim directory (phettest.colorado.edu/) with https://bayes.colorado.edu/continuous-testing/?

jonathanolson commented 6 years ago

@jonathanolson to make sure I understand, do I simply replace the portion of the sim URL before the sim directory (phettest.colorado.edu/) with https://bayes.colorado.edu/continuous-testing/?

Yes, that works (and if phettest is slow but bayes is faster, that will probably be within 7-10 minutes of master).

arouinfar commented 6 years ago

Thanks for clarifying. It's also good to know that there is a bit of a time lag behind master -- I hadn't realized that.

samreid commented 6 years ago

@jonathanolson to make sure I understand, do I simply replace the portion of the sim URL before the sim directory (phettest.colorado.edu/) with https://bayes.colorado.edu/continuous-testing/?

Hopefully we can get phettest working fast or identify whatever internet problems have been problematic. But if we can get it to load its index page fast but not load sims fast, we could add link from phettest's index page => bayes (for each sim)? Anyways just an idea that we hopefully don't need to use.

jonathanolson commented 6 years ago

But if we can get it to load its index page fast but not load sims fast, we could add link from phettest's index page => bayes (for each sim)?

My best guess is that the issue is related to the wifi having issues, and so loading a require.js-mode sim across the network (from anywhere) will be slow, so I wouldn't immediately add that.

KatieWoe commented 5 years ago

This hasn't been an issue in awhile. If @arouinfar agrees I think this can be closed.

arouinfar commented 5 years ago

Luckily I haven't run into this issue in a very long time, so I think we can go ahead and close it @KatieWoe