learningequality / ka-lite

KA Lite: lightweight web server for serving core Khan Academy content (videos and exercises) without needing internet connectivity
https://learningequality.org/ka-lite/
Other
458 stars 305 forks source link

302 redirects are affecting performance #512

Closed gimick closed 11 years ago

gimick commented 11 years ago

When the webserver is tested with 10 client connections, the exercise dashboard is taking a significant time to load: (typically between 10 and 40 seconds).

Root of this issue? the webserver appears to process all icons twice? :

A retest with the images path hacked to /static/images instead on /images gives page load times of less than 1 second.

The redirect is in kalite/main/urls.py The resource file with the /images/ links is kalite/static/data/maplayout_data.json other /image resources are referenced in kalite/static/js/kmap-editor.js

(SeleniumClient test step is neadd2_1 and nesub2_1)

Can this be changed to not generate a 302 status?

gimick commented 11 years ago

[22:39:25.560] GET http://192.168.1.24:8008/images/power-mode/badges/circles-40x40.png [HTTP/1.1 302 FOUND 362ms] [22:39:25.562] GET http://192.168.1.24:8008/images/power-mode/badges/area--perimeter--and-volume-40x40.png [HTTP/1.1 302 FOUND 323ms] [22:39:25.563] GET http://192.168.1.24:8008/images/power-mode/badges/probability-40x40.png [HTTP/1.1 302 FOUND 456ms] [22:39:25.564] GET http://192.168.1.24:8008/images/power-mode/badges/similarity-40x40.png [HTTP/1.1 302 FOUND 452ms] [22:39:25.565] GET http://192.168.1.24:8008/images/power-mode/badges/segments-and-angles-40x40.png [HTTP/1.1 302 FOUND 412ms] [22:39:25.567] GET http://192.168.1.24:8008/images/power-mode/badges/multiplication-division-40x40.png [HTTP/1.1 302 FOUND 274ms] [22:39:25.568] GET http://192.168.1.24:8008/images/power-mode/badges/telling-time-40x40.png [HTTP/1.1 302 FOUND 594ms] [22:39:25.569] GET http://192.168.1.24:8008/images/power-mode/badges/systems-of-eq-and-ineq-40x40.png [HTTP/1.1 302 FOUND 628ms] [22:39:25.570] GET http://192.168.1.24:8008/images/power-mode/badges/triangle-properties-40x40.png [HTTP/1.1 302 FOUND 770ms] [22:39:25.572] GET http://192.168.1.24:8008/images/power-mode/badges/conic-sections-40x40.png [HTTP/1.1 302 FOUND 741ms] [22:39:25.573] GET http://192.168.1.24:8008/images/power-mode/badges/absolute-value-40x40.png [HTTP/1.1 302 FOUND 807ms] [22:39:25.574] GET http://192.168.1.24:8008/images/power-mode/badges/congruent-triangles-40x40.png [HTTP/1.1 302 FOUND 806ms] [22:39:25.575] GET http://192.168.1.24:8008/images/power-mode/badges/factors-multiples-40x40.png [HTTP/1.1 302 FOUND 940ms] [22:39:25.576] GET http://192.168.1.24:8008/images/power-mode/badges/linear-equations-and-inequalitie-40x40.png [HTTP/1.1 302 FOUND 1792ms] [22:39:25.577] GET http://192.168.1.24:8008/images/power-mode/badges/transformations-40x40.png [HTTP/1.1 302 FOUND 2005ms] [22:39:25.578] GET http://192.168.1.24:8008/images/power-mode/badges/quadrilaterals-and-polygons-40x40.png [HTTP/1.1 302 FOUND 2028ms] [22:39:25.579] GET http://192.168.1.24:8008/images/power-mode/badges/rational-expressions-40x40.png [HTTP/1.1 302 FOUND 1947ms] [22:39:25.580] GET http://192.168.1.24:8008/images/power-mode/badges/linear_inequalities-40x40.png [HTTP/1.1 302 FOUND 2066ms] [22:39:25.582] GET http://192.168.1.24:8008/images/power-mode/badges/applying-math-reasoning-topic-40x40.png [HTTP/1.1 302 FOUND 2220ms] [22:39:25.583] GET http://192.168.1.24:8008/images/power-mode/badges/fractions-40x40.png [HTTP/1.1 302 FOUND 2354ms] [22:39:25.584] GET http://192.168.1.24:8008/images/power-mode/badges/exponents-radicals-40x40.png [HTTP/1.1 302 FOUND 2376ms] [22:39:25.585] GET http://192.168.1.24:8008/images/power-mode/badges/addition-subtraction-40x40.png [HTTP/1.1 302 FOUND 2724ms] [22:39:25.586] GET http://192.168.1.24:8008/images/power-mode/badges/parallel-and-perpendicular-lines-40x40.png [HTTP/1.1 302 FOUND 2868ms] [22:39:25.588] GET http://192.168.1.24:8008/images/power-mode/badges/algebra-matrices-40x40.png [HTTP/1.1 302 FOUND 3059ms] [22:39:25.589] GET http://192.168.1.24:8008/images/power-mode/badges/polynomials-40x40.png [HTTP/1.1 302 FOUND 3080ms] [22:39:25.590] GET http://192.168.1.24:8008/images/power-mode/badges/solving-linear-equations-and-inequalities-40x40.png [HTTP/1.1 302 FOUND 3056ms] [22:39:25.592] GET http://192.168.1.24:8008/images/power-mode/badges/pythagorean-theorem-40x40.png [HTTP/1.1 302 FOUND 3127ms] [22:39:25.593] GET http://192.168.1.24:8008/images/power-mode/badges/quadratics-40x40.png [HTTP/1.1 302 FOUND 3124ms] [22:39:25.594] GET http://192.168.1.24:8008/images/power-mode/badges/statistics-inferential-40x40.png [HTTP/1.1 302 FOUND 3380ms] [22:39:25.595] GET http://192.168.1.24:8008/images/power-mode/badges/complex-numbers-40x40.png [HTTP/1.1 302 FOUND 3418ms] [22:39:25.596] GET http://192.168.1.24:8008/images/power-mode/badges/rates-and-ratios-40x40.png [HTTP/1.1 302 FOUND 3938ms] [22:39:25.597] GET http://192.168.1.24:8008/images/power-mode/badges/calculus-40x40.png [HTTP/1.1 302 FOUND 3941ms] [22:39:25.599] GET http://192.168.1.24:8008/images/power-mode/badges/vectors-40x40.png [HTTP/1.1 302 FOUND 4131ms] [22:39:25.600] GET http://192.168.1.24:8008/images/power-mode/badges/default-40x40.png [HTTP/1.1 302 FOUND 4128ms] [22:39:25.601] GET http://192.168.1.24:8008/images/power-mode/badges/basic-geometry-40x40.png [HTTP/1.1 302 FOUND 4291ms] [22:39:25.602] GET http://192.168.1.24:8008/images/power-mode/badges/algebra-functions-40x40.png [HTTP/1.1 302 FOUND 4427ms] [22:39:25.603] GET http://192.168.1.24:8008/images/power-mode/badges/chemistry-40x40.png [HTTP/1.1 302 FOUND 4270ms] [22:39:25.604] GET http://192.168.1.24:8008/images/power-mode/badges/decimals-40x40.png [HTTP/1.1 302 FOUND 4433ms] [22:39:25.605] GET http://192.168.1.24:8008/images/power-mode/badges/trigonometry-40x40.png [HTTP/1.1 302 FOUND 4816ms] [22:39:25.607] GET http://192.168.1.24:8008/images/power-mode/badges/order-of-operations-40x40.png [HTTP/1.1 302 FOUND 4978ms] [22:39:25.608] GET http://192.168.1.24:8008/static/images/nav-selector.gif [HTTP/1.1 200 OK 4924ms] [22:39:25.828] GET http://192.168.1.24:8008/static/images/power-mode/badges/multiplication-division-40x40.png [HTTP/1.1 200 OK 497ms] [22:39:25.831] GET http://192.168.1.24:8008/static/images/power-mode/badges/area--perimeter--and-volume-40x40.png [HTTP/1.1 200 OK 517ms] [22:39:25.833] GET http://192.168.1.24:8008/static/images/power-mode/badges/circles-40x40.png [HTTP/1.1 200 OK 486ms] [22:39:25.835] GET http://192.168.1.24:8008/static/images/power-mode/badges/segments-and-angles-40x40.png [HTTP/1.1 200 OK 570ms] [22:39:25.837] GET http://192.168.1.24:8008/static/images/power-mode/badges/similarity-40x40.png [HTTP/1.1 200 OK 490ms] [22:39:25.839] GET http://192.168.1.24:8008/static/images/power-mode/badges/probability-40x40.png [HTTP/1.1 200 OK 704ms] [22:39:25.841] GET http://192.168.1.24:8008/static/images/power-mode/badges/telling-time-40x40.png [HTTP/1.1 200 OK 888ms] [22:39:25.843] GET http://192.168.1.24:8008/static/images/power-mode/badges/systems-of-eq-and-ineq-40x40.png [HTTP/1.1 200 OK 779ms] [22:39:25.933] GET http://192.168.1.24:8008/static/images/power-mode/badges/conic-sections-40x40.png [HTTP/1.1 200 OK 722ms] [22:39:25.935] GET http://192.168.1.24:8008/static/images/power-mode/badges/triangle-properties-40x40.png [HTTP/1.1 200 OK 751ms] [22:39:26.028] GET http://192.168.1.24:8008/static/images/power-mode/badges/congruent-triangles-40x40.png [HTTP/1.1 200 OK 761ms] [22:39:26.031] GET http://192.168.1.24:8008/static/images/power-mode/badges/absolute-value-40x40.png [HTTP/1.1 200 OK 841ms] [22:39:26.137] GET http://192.168.1.24:8008/static/images/power-mode/badges/factors-multiples-40x40.png [HTTP/1.1 200 OK 898ms] [22:39:26.994] GET http://192.168.1.24:8008/static/images/power-mode/badges/linear-equations-and-inequalitie-40x40.png [HTTP/1.1 200 OK 312ms] [22:39:27.143] GET http://192.168.1.24:8008/static/images/power-mode/badges/rational-expressions-40x40.png [HTTP/1.1 200 OK 450ms] [22:39:27.219] GET http://192.168.1.24:8008/static/images/power-mode/badges/transformations-40x40.png [HTTP/1.1 200 OK 422ms] [22:39:27.222] GET http://192.168.1.24:8008/static/images/power-mode/badges/quadrilaterals-and-polygons-40x40.png [HTTP/1.1 200 OK 361ms] [22:39:27.224] GET http://192.168.1.24:8008/static/images/power-mode/badges/linear_inequalities-40x40.png [HTTP/1.1 200 OK 608ms] [22:39:27.425] GET http://192.168.1.24:8008/static/images/power-mode/badges/applying-math-reasoning-topic-40x40.png [HTTP/1.1 200 OK 431ms] [22:39:27.563] GET http://192.168.1.24:8008/static/images/power-mode/badges/fractions-40x40.png [HTTP/1.1 200 OK 423ms] [22:39:27.564] GET http://192.168.1.24:8008/static/images/power-mode/badges/exponents-radicals-40x40.png [HTTP/1.1 200 OK 412ms] [22:39:27.930] GET http://192.168.1.24:8008/static/images/power-mode/badges/addition-subtraction-40x40.png [HTTP/1.1 200 OK 469ms] [22:39:28.073] GET http://192.168.1.24:8008/static/images/power-mode/badges/parallel-and-perpendicular-lines-40x40.png [HTTP/1.1 200 OK 639ms] [22:39:28.297] GET http://192.168.1.24:8008/static/images/power-mode/badges/solving-linear-equations-and-inequalities-40x40.png [HTTP/1.1 200 OK 399ms] [22:39:28.299] GET http://192.168.1.24:8008/static/images/power-mode/badges/algebra-matrices-40x40.png [HTTP/1.1 200 OK 469ms] [22:39:28.302] GET http://192.168.1.24:8008/static/images/power-mode/badges/polynomials-40x40.png [HTTP/1.1 200 OK 404ms] [22:39:28.304] GET http://192.168.1.24:8008/static/images/power-mode/badges/quadratics-40x40.png [HTTP/1.1 200 OK 649ms] [22:39:28.306] GET http://192.168.1.24:8008/static/images/power-mode/badges/pythagorean-theorem-40x40.png [HTTP/1.1 200 OK 597ms] [22:39:28.573] GET http://192.168.1.24:8008/static/images/power-mode/badges/statistics-inferential-40x40.png [HTTP/1.1 200 OK 507ms] [22:39:28.576] GET http://192.168.1.24:8008/static/images/power-mode/badges/complex-numbers-40x40.png [HTTP/1.1 200 OK 543ms] [22:39:29.152] GET http://192.168.1.24:8008/static/images/power-mode/badges/rates-and-ratios-40x40.png [HTTP/1.1 200 OK 380ms] [22:39:29.155] GET http://192.168.1.24:8008/static/images/power-mode/badges/calculus-40x40.png [HTTP/1.1 200 OK 532ms] [22:39:29.330] GET http://192.168.1.24:8008/static/images/power-mode/badges/default-40x40.png [HTTP/1.1 200 OK 487ms] [22:39:29.333] GET http://192.168.1.24:8008/static/images/power-mode/badges/vectors-40x40.png [HTTP/1.1 200 OK 555ms] [22:39:29.466] GET http://192.168.1.24:8008/static/images/power-mode/badges/chemistry-40x40.png [HTTP/1.1 200 OK 405ms] [22:39:29.469] GET http://192.168.1.24:8008/static/images/power-mode/badges/basic-geometry-40x40.png [HTTP/1.1 200 OK 517ms] [22:39:29.628] GET http://192.168.1.24:8008/static/images/power-mode/badges/algebra-functions-40x40.png [HTTP/1.1 200 OK 378ms] [22:39:29.630] GET http://192.168.1.24:8008/static/images/power-mode/badges/decimals-40x40.png [HTTP/1.1 200 OK 524ms] [22:39:30.023] GET http://192.168.1.24:8008/static/images/power-mode/badges/trigonometry-40x40.png [HTTP/1.1 200 OK 195ms] [22:39:30.176] GET http://192.168.1.24:8008/static/images/power-mode/badges/order-of-operations-40x40.png [HTTP/1.1 200 OK 79ms]

gimick commented 11 years ago

kalite/static/js/kmap-editor.js is generating 302 errors with these resources:

    this.IMG_LIVE = "/images/node-not-started-" + this.ICON_SIZE + ".png";
    this.IMG_DEV = "/images/node-not-started-" + this.ICON_SIZE + "-faded.png";
    this.IMG_SELECTED = "/images/node-complete-" + this.ICON_SIZE + ".png";
    this.IMG_SELECTED_DEV = "/images/node-complete-" + this.ICON_SIZE + "-faded.png";
    this.IMG_NOT_STARTED = "/images/node-not-started-" + this.ICON_SIZE + ".png";
    this.IMG_PARTIAL = "/images/node-partial-" + this.ICON_SIZE + ".png";
    this.IMG_COMPLETE = "/images/node-complete-" + this.ICON_SIZE + ".png";
bcipolli commented 11 years ago

Great stuff--easy changes to make a big difference. Will do.

bcipolli commented 11 years ago

Fixed in #513