Bug 889898 - webadmin: yslow report on webadmin
webadmin: yslow report on webadmin
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine-webadmin-portal (Show other bugs)
Unspecified Unspecified
unspecified Severity medium
: ---
: 3.2.0
Assigned To: Alexander Wels
Jiri Belka
: Improvement
Depends On:
  Show dependency treegraph
Reported: 2012-12-23 16:46 EST by Yaniv Kaul
Modified: 2013-07-03 22:57 EDT (History)
7 users (show)

See Also:
Fixed In Version: sf12
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 10449 None None None Never
oVirt gerrit 10911 None None None Never

  None (edit)
Description Yaniv Kaul 2012-12-23 16:46:37 EST
Description of problem:
yslow = plugin by Yahoo! to suggest enhancement for better performing webpages.
See http://developer.yahoo.com/yslow/ for more information.

1. Grade F on Add Expires headers

There are 14 static components without a far-future expiration date.

    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/gwt/standard/standard.css
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/WebAdmin.css
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/webadmin.nocache.js?...
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_TL.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_T.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_TR.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_L.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/login_header_background_repetitive.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/triangle_down_gray.gif
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_R.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_BL.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_B.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/webadmin/webadmin/images/dialog/panel_edge_BR.png
    (no expires) https://rhevm-3.qa.lab.tlv.redhat.com:8443/favicon.ico

2. Grade D on Compress components with gzip

There are 3 plain text components that should be sent compressed


3. Grade B on Make fewer HTTP requests

This page has 10 external background images. Try combining them with CSS sprites.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
Actual results:

Expected results:

Additional info:
Comment 1 Yaniv Kaul 2012-12-23 16:50:01 EST
I also think previous work I've done on compressing the PNGs was lost when PNGs were re-done or something.
Comment 2 Einav Cohen 2013-01-11 11:17:48 EST
very similar to bug 656954 (just on different components); there may be a single solution for both (depends on the level in which it is handled).
Comment 3 Einav Cohen 2013-01-11 11:26:15 EST
(In reply to comment #1)
> I also think previous work I've done on compressing the PNGs was lost when
> PNGs were re-done or something.

[this is about http://gerrit.ovirt.org/#/c/853/, I assume]

AFAIU it wasn't lost - it is still there, in upstream (where it was done); 
simply need to do the same for the images downstream, that are different images.
Comment 4 Alexander Wels 2013-01-11 11:33:04 EST
Yes same solution for both user portal and webadmin.

Patches available here:
and here for the expires headers:
Comment 8 Jiri Belka 2013-04-22 10:20:53 EDT
YSlow reports:

Grade E on Add Expires headers

There are 4 static components without a far-future expiration date.

    (no expires)
    (no expires)
    (no expires)

webadmin.nocache.js is OK, <app>.nocache.js could be cached but browser always asks server if the contect hasn't been modified.

In BZ875814 there's no info if .css or .ico file(s) should have any expiration. Please clarify, right now those css files are cached but the server is asked if content has changed - 'no-cache' in Cache-Control, got 304 code when reloading. No idea how is favicon handled... ??
Comment 9 Alexander Wels 2013-04-22 14:27:57 EDT
BZ875814 is about the dynamic content, not static content. The css and ico files are served from JBOSS. We assume that JBOSS knows how to properly send the headers to have the static content cached.

I believe in this case it depends on an ETag instead of a future date for caching purposes.

The favicon is served from Apache and I don't know how it handles caching in the case of a favicon.

So I am not entirely sure what you are asking, but I believe the behavior you are seeing is correct for at least the webadmin.nocache.js (shouldn't be cached, and no future expire date). The two css files are okay due to the ETags. Not sure about the favicon.
Comment 10 Jiri Belka 2013-04-24 05:22:27 EDT
ok, sf13.1 - as clarified in comment#9 it is OK, it means 'no expires' is false alert from YSlow as there's ETag used anyway. But I created BZ956075 to make YSlow more happy.
Comment 11 Itamar Heim 2013-06-11 05:52:24 EDT
3.2 has been released
Comment 12 Itamar Heim 2013-06-11 05:52:26 EDT
3.2 has been released
Comment 13 Itamar Heim 2013-06-11 05:59:07 EDT
3.2 has been released

Note You need to log in before you can comment on or make changes to this bug.