wiki:PerformanceFaq
Last modified 9 years ago Last modified on 12/22/09 08:38:01

For Internal Use Only

==FAQ's==

TNG vs. Classic—Do They Behave the Same?

  • What Happens When TNG Loads?
  • What Happens During Sign In?
  • What Happens After Sign In?
  • How Does the Calendar Page Load?
  • Does Switching Pages in My Agile Mind Affect Performance Significantly?
  • What Happens When You Switch Courses?
  • What Happens When You Switch Pages in a Topic?
  • Does Runtime Data Collection Affect Performance?
  • How Does Professional Support Work?
  • Does Using Menus Affect Performance?
  • Do Reports Affect Performance?
  • Does the Glossary or Helps Affect Performance?
  • Does the Agile Assessment Menu Item Affect Performance?
  • Is Performance Different with IE7 than with Firefox?
  • Does Caching Affect Performance?
  • What Steps Is Engineering Taking?
  • What Steps Can You Take To Diagnose an Issue?

TNG vs. Classic—Do They Behave the Same? No. One important difference is that data upload speeds matter much more for TNG than they did for Classic. TNG works differently than Classic and takes advantage of new technologies available in browsers and servers (Web 2.0)

What Happens When TNG Loads? The very first time you launch TNG, TNG contacts the server and loads the application into the browser. TNG immediately initializes GWT and gets the Javascript library. This gets cached and should only be reloaded either when we release a new version of the LMS (for example, when Engineering releases a new build over the weekend and updates the course content) or if you clear your browser cache. This is a fairly large download.

What Happens During Sign In? When you visit your district URL, TNG pings to see if you have a session already and redirects you to the sign in page. This is the RPC (Remote Procedure Call) back‐and forth. RPC is bi‐directional communication; TNG will also do a confirmation of your identity handshake. This typically takes up to 2‐3 seconds to confirm if you have a session and to authenticate.

For Internal Use Only

What Happens After Sign In? After you establish a TNG session and authenticate, TNG loads the wrapper. This wrapper includes everything you see around the LMS content page. The wrapper model describes all the menus, tabs and left hand navigation for the LMS. These are GWT compiles that remain loaded until you switch tabs. Because TNG use frames, TNG loads a second application into the content area: this is the Calendar page and it requires a separate upload for GWT and the second content load.

How Does the Calendar Page Load? When TNG first loads and displays the Calendar page, that Calendar page requests a significant amount of data from the server. The Calendar is heavier load‐wise because of its many DOM elements. Everything that is collapsed is actually already made (for example, TNG has already got all of the information for an assignment, even though the collapsed assignment on the Calendar page displays only the assignment name and due date). Load speed depends on how fast your hardware is, how fast your browser is, and how fast your Javascript is. It’s all local and running on your machine.

Does Switching Pages in My Agile Mind Affect Performance Significantly? If you switch pages when you’re viewing the My Agile Mind tab (switching, for example, from the Calendar page to the Agile Assessment page), there may be additional handshake rounds determining whether you’re authenticated for this or not. The actual page size, however, is small and should display in under a second even on a moderately slow machine. This is because this load speed is more dependent on your hardware and your browser than on your bandwidth.

What Happens When You Switch Courses? When you select the My Courses tab and/or select a course, a significant amount of work occurs. There’s potentially one more application load for the new wrapper (because the left hand navigation for My Courses is different than left hand navigation for the My Agile Mind tab).

  • When you select a course, all of the navigational elements in the left hand navigation bar are reloaded.
  • The first time you select a course, the content for topic 1, page 1 is loaded.
  • Performance takes a large hit the first time you select a course. Note that TNG

does NOT load every page in the topic when you choose the course and views the first page in the topic.

What Happens When You Switch Pages in a Topic? When you switch pages, the content application is loaded the first time you switch, but subsequent page switches are simply a matter of round‐tripping to the server and collecting the page and anything extra (like for a DND or animation).

For Internal Use Only

When you change pages or navigate using the left navigation bar, the amount of data that you need to download is not large. TNG has ALREADY loaded the session and the environment. There is data being loaded, but nowhere near as much as before.

Does Runtime Data Collection Affect Performance? As you work with the application and switch pages or work in a page, TNG collects information about what you’re doing. This is what we call runtime data and TNG sends this runtime data back to the server. TNG does not wait for a response from the server. When you change pages, TNG sends your runtime data back to the server about what you did on the page. That data can vary in size; one of the largest is about 3K for an Assessment question you tried three times and reset; the size depends on what you’ve done. This is affected by upload speed. It is important to remember that your runtime data upload could be sharing the same pipe as your next download (the page you are navigating to), creating a bandwidth issue. The application will not, however, wait for that runtime information to be uploaded before displaying the next page (asynchronous), but they do share the same pipe.

How Does Professional Support Work? Professional Support is simply a second content frame that is opened. It is also asynchronous, BUT there is no constant pinging happening—if you sit on a page, TNG doesn’t send requests or pings back to the server. TNG only pings and/or sends requests when you perform actions on the page. User action therefore triggers requests or pings (this is the same behavior as the regular content pages).

Does Using Menus Affect Performance? Most of the menu items are client action—there is not a lot of back‐and‐forth between the server and the client.

Do Reports Affect Performance? Switching to the Reports page incurs the same overhead as any other page switch, but what happens after the switch depends on the report. Some reports do run heavy‐duty queries against the database and it can take quite some time to return reports. For example, a teacher usage report with lots of students (and with the graph) can be a very heavy duty query going against the server. TNG waits for the requested data to be returned by the server and THEN the report creates the tables inside your browser using DOM manipulation. Since this is DOM manipulation, the effect on performance depends on your particular machine, hardware, and browser. Note that the chart is uploaded as an image.

Browser type affects report performance. If you compare report loading under IE7 with Firefox, Firefox loads reports more quickly because of how Firefox manipulates the DOM. Report tables are drawn in a second or less in Firefox, but in IE7 these same tables can take upwards of 5 seconds to draw. This means that if you’re drawing large tables inside your browser, it takes time. Browsers will time out after five minutes.

For Internal Use Only

Does the Glossary or Helps Affect Performance? No. Glossary and Help are both a simple window launch and contain only static content. No complaints about performance time have been reported or are anticipated.

Does the Agile Assessment Menu Item Affect Performance? Clicking the Agile Assessment menu item in TNG simply establishes a separate Agile Assessment session. Agile Assessment performance has not changed. Is Performance Different with IE7 than with Firefox? Yes. When TNG serves static content (including images, some Javascript. And Flash movies), our Apache server detects the browser it is talking to. If the browser is Firefox or Safari, the Apache server compresses data —so there is a significant savings when using Firefox or Safari browser because static content is compressed to and from the server. The amount of data uploaded and downloaded is much lower; typically 20‐50%.

Internet Explorer 7, on the other hand, does not support server‐side data compression. Internet Explorer 8 does support server‐side data compression, but there is a reported bug to Microsoft that currently prevents us from implementing.

In addition, Internet Explorer 7’s Javascript is the worst of the worst—it provides the slowest execution of Javascript for any browser out there. Internet Explorer 8’s Javascript performance is significantly better (400% better) than Internet Explorer 7’s performance, but it is still four times slower than Firefox’s performance.

Does Caching Affect Performance? Yes. In NYC, we had to turn on the no‐cache command because of their proxy servers. NYCPS was also affected by this. Everything being served by our New York server (Holly) has no‐cache turned on. This means that we do no caching, even for GWT/Javascript that would usually be cached.

What Steps Is Engineering Taking?

  • We are examining load time information for the new Biology pages—many of these contain very large images. This might be a factor affecting performance.
  • We are investigating reducing session writing to the server.
  • We are investigating caching.
  • There is clearly a memory leak when using Internet Explorer. We are hopeful that this will be significantly improved when we release the version of TNG we are developing to use the new GWT.
  • We cannot fix bandwidth limitations, but we can investigate compression and caching parameters for Internet Explorer 7 and 8.
  • We are investigating optimizing our traffic.

For Internal Use Only

What Steps Can You Take To Diagnose an Issue? We need additional information about reported loading issues/slow loads. Clearly, there is more than one cause for the reported issues.

  • Fire off a diagnostic as soon as you get a ticket about slow load times. In either Mac or Windows, open a Terminal or Command window and ping the district server and provide that information to Engineering. This will provide roundtrip delay information and potentially do a traceroute.
  • Pay particular attention to bandwidth and latency. Support Services can provide a URL to a bandwidth tool.
  • Ask the reporting teacher for or provide details about: what district, what teacher, what course, what area (or areas) of TNG are slow, what time of day. Engineering needs all of these details in order to reproduce the issue.
  • Internet Explorer 7 users should bring up the Task Manager and check the process memory when they experience poor performance and slow load times. Internet Explorer 7 users should also check the Performance tab and report if there is any kind of page file usage.