phetsims / tasks

General tasks for PhET that will be tracked on Github
MIT License
5 stars 2 forks source link

5-second delay loading unbuilt sims #1092

Open samreid opened 3 years ago

samreid commented 3 years ago

All day my chrome Version 94.0.4606.71 (macOS) has had this bad loading behavior where a library file takes around 5 seconds to load. It is often but not always jquery. I rebooted and checked for Chrome updates. Still same problem. Any ideas how to debug this?

image

samreid commented 3 years ago

@pixelzoom said:

I was experiencing the same today with Chrome Version 94.0.4606.71 (macOS). Fourier unbuilt/local would take several seconds before the progress bar on the Splash screen started moving. I started the day with a pull-all.sh, so I don’t have a feel for when this might have started.

samreid commented 3 years ago

I observed the same problem in Chrome canary Version 96.0.4660.6 (Official Build) canary (arm64).

@pixelzoom reported it is about ~5 second delay for him as well.

samreid commented 3 years ago

I tried http-server and the problem seems to be gone. My earlier tests use Apache 2.

samreid commented 3 years ago

@pixelzoom and I observed this problem even when loading phetmarks. @pixelzoom and I observed this problem in

~/apache-document-root/main$ httpd -v
Server version: Apache/2.4.48 (Unix)
Server built:   Aug 30 2021 04:23:22

Nothing seemed pertinent in the "Relocated Items" copies of our httpd.conf files.

Our ideas for going forward:

  1. macOS monterey comes out soon, maybe it will be fixed then
  2. We can use http-server for now
  3. We could try downloading different versions of apache, but that looks nontrivial and risks disturbing our setups.
pixelzoom commented 3 years ago

Additional notes:

pixelzoom commented 3 years ago

In Slack, @samreid said:

As a work around, I used sudo apachectl stop then npm install http-server and node node_modules/http-server/bin/http-server -p 80 -c-1. Then caching is disabled and all my links continue to work.

samreid commented 3 years ago

Unassigning, but I added a personal calendar reminder for around Nov 3.

samreid commented 3 years ago

@pixelzoom reported in Slack that this problem did not go away with macOS 12 (Monterey).

pixelzoom commented 2 years ago

Unassigning, but I added a personal calendar reminder for around Nov 3.

It's now Dec 8.

This is still a problem, really slowing me down. Since I'm now on Chrome 96.0.4664.55 (2 major versions after the problem was first noted) and macOS 12, I think it's unlikely that it will be fixed in a Chrome or macOS update.

I realize that there's a workaround described in https://github.com/phetsims/tasks/issues/1092#issuecomment-934563492. But more manual steps seems like a big step backward, especially with the manual steps required for the new TS workflow.

Adding to project board for developer meeting.

pixelzoom commented 2 years ago

In https://github.com/phetsims/tasks/issues/1092#issue-1016482963, the delay was attributed to jquery 2.1.0 (January 2014). The latest jquery is 3.6.0 (March 2021). So we're 7 years behind. Maybe we should try upgrading?

samreid commented 2 years ago

http-server has been working great for me. The only overhead is: when I reboot, I have to remember to run ./http-server.sh. I only end up rebooting a couple of times a week at the most, so it hasn't been a burden.

Regarding jquery, can you try loading a sim a few times and see if it is isolated to jquery? Or if sometimes the delay shows up in other things?

pixelzoom commented 2 years ago

Sam and I paired on this via Zoom. It's not always jquery, sometimes it's a handful of .js files. It seems to be different on each load, with some of the files repeated (significant?), and no clear pattern.

pixelzoom commented 2 years ago

This is not specific to Chrome, so I'm going to change the issue title. I've observed the problem in Safari and Firefox on macOS. I'm wondering if any Windows users are having this problem, or if it's specific to macOS?

pixelzoom commented 2 years ago

As of ~5PM yesterday, Apache was still very slow for me. After doing a pull-all.sh this morning (~9AM MT), Apache is now loading unbuilt sims quickly. No changes to my Apache config, no browser updates, loading faster in all browsers (Chrome, Firefox, Safari).

I looked through commits since ~5PM MT yesterday, and I don't see anything that would account for this.

Testing in Chrome "Network" view is no longer showing any files that are taking seconds to load. All it shows is the loading of the .html file.

@samreid is not seeing this improvement. He reports that CCK:AC takes > 20 second to load with Apache, 2.3 sec with http-server. I'm seeing < 3 sec with Chrome + Apache.

samreid commented 2 years ago

My test showed 20+ seconds to load in apache.

samreid commented 2 years ago

@pixelzoom reported it is slow again.

@zepumph asks if it is related to TypeScript, but it seems it was discovered Oct 5 before we started TypeScript.