green flash
 Posts:44

| | 02/18/2008 3:48 PM |
| MY Local environment (i created a website with www.portalkur.net - but its only accessible from my computer)
DotNetNuke 4.8
PageBlaster latest beta attached on this page (Attachment: 12188454171.zip)
Snapsis CSS Navigation Menu & AkunaCrush Skin (Valid XHTML 1.0 Transitional!)
I have two pages that has content (both pages are using same skin)
Home Page gets a score of 79 C from YSlow
Blog page gets overall of 80B
How can i improve it to A for both pages?
Thanks.
I'm getting C from
1. Make fewer HTTP requests
This page has 4 external JavaScript files.
This page has 14 CSS background images.
F from
2. Use a CDN
These components are not on a CDN:
A from
3. Add an Expires header
but i added this expires header from IIS, like you mentioned in your comment in first page of this post.
Once i transfer my website to live environment, can PageBlaster auto-assign a good expires header?
B from 4. Gzip components
These components are not gzipped:
* [HTTP headers] (13.0K) http://www.portalkur.net/js/dnncore.js
A from 5. Put CSS at the top
CSS extension added to IIS like you mentioned in first page of topic.
A from 6. Put JS at the bottom
A from 7. Avoid CSS expressions
n/a from 8. Make JS and CSS external
A from 9. Reduce DNS lookups
C from 10. Minify JS
The following JavaScript files do not appear to be obfuscated nor minified.
* [HTTP headers] (13.0K) http://www.portalkur.net/js/dnncore.js
*
ParamsHeadersPost
Response Headers
Cache-Control: max-age=604800
Content-Length: 13092
Content-Type: application/x-javascript
Last-Modified: Wed, 19 Dec 2007 15:06:38 GMT
Accept-Ranges: bytes
Etag: "013d4c05042c81:e8e"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Mon, 18 Feb 2008 21:31:21 GMT
Loading...
* [HTTP headers] (23.4K) http://www.portalkur.net/ScriptResource.axd?d=7fnbRD7YJVoKqqeWZnvOVd9qgBAklMP3IvbAliXGHDcecsYZXPbU4i[snip]
*
ParamsHeadersPost
Response Headers
Date: Mon, 18 Feb 2008 21:31:21 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Content-Encoding: gzip
X-Snapsis-PageBlaster: v:03.00.07;c:-;x:-;r:-
Cache-Control: public
Expires: Tue, 17 Feb 2009 21:31:19 GMT
Last-Modified: Sat, 20 Jan 2007 15:56:32 GMT
Content-Type: application/x-javascript; charset=utf-8
Content-Length: 23423
Loading...
* [HTTP headers] (7.4K) http://www.portalkur.net/ScriptResource.axd?d=7fnbRD7YJVoKqqeWZnvOVd9qgBAklMP3IvbAliXGHDfs9TDt-IESyi[snip]
A from 11-12 and F from 13 (etags) | | DotNetNuke Türkçe | |
|
DavidWSnow
 Posts:162

| | 02/18/2008 4:19 PM |
| John, I looked at the PB.config file and could see no reason that re-formating wirh VWD should effect the "search for" or "replace with" sections of the rules. However, I took a working file and reformated and pages become empty. Visual Diffing the the two files the only difference I could see was the leading white space in the replace. Since HTML treats all white space the same I don't think that this should matter other than download size. Maybe the replacement rules should include \n's or \r's rather than actual newlines??? /DaveS | | | |
|
John Mitchell Posts:2780


| | 02/18/2008 4:32 PM |
| Dave, The Replacement Engine honors the white space in the SearchFor and ReplaceWith fields so that you can use that in your search and replace.
Sometimes you may want to replace and add a carriage return, or search for white space around a term. I don't think that would cause a blank page though, it should just cause the rule not to work like you expect. If you could attach the VWD reformatted file I may be able to spot the problem, or I can use it and debug to find the problem. | | | |
|
John Mitchell Posts:2780


| | 02/18/2008 4:39 PM |
| For YSlow scores, the only way to get into the B or A range is to enable the static files like images to be processed by ASP.Net so that the request gets sent to PageBlaster. PageBlaster will strip the Etag that is causing a lower score. PageBlaster will also be able to set expires headers and do compression on .css & .js files that can not be merged. The procedure for doing this is outlined earlier in this thread.
The CDN one can not be fixed by PageBlaster. You would have to get on one of their content delivery networks to get that score up. I even tried to boost my score by setting my own CDN in preferences, but that is nothing to brag about since you would have to tell other people to configure their YSlow for your CDN. It is a good idea to put our images on a different host name though, as that allows the browser to download more parallel requests.
| | | |
|
DavidWSnow
 Posts:162

| |
John Mitchell Posts:2780


| | 02/18/2008 4:50 PM |
| dani, Thanks for the detailed feedback. I'll need more time to figure out what is happening with the RadTreeView, but you may want to disable those rules that move the links to the head and see if that fixes it. One nice side-effect of the new repeating rules is that you can set the repeatTimes to 0 and the rule won't be used. For the file sharing error, I don't know if I can fix the "press ctrl+F5 10 or 15 times" error. If you do that fast enough you are going to create multiple threads on the server to process your request and your request is telling the server to delete and re-create the files over and over again. The only other thing I could do is create a lock while deleting or creating, but that would slow things down. In normal processing you shouldn't see this problem since the files should rarely be recreated. I think I'll even take the recreate aspect off of the Ctrl+F5 and have it be a mnual process to remove them if you want it to be recreated. For WebResource.axd the Ctrl+F5 may be the same problem. The reason it takes so long for that to be returned is because the static file handler actually throws an exception.
I'm going to change that so that it just sets the 404 directly on the response. | | | |
|
DavidWSnow
 Posts:162

| | 02/18/2008 4:56 PM |
| | While "searching" for the post about "static files" that you mentioned, I noticed some JavaScript errors on the page and the search never completed. You may want to check into this. - DaveS | | | |
|
DavidWSnow
 Posts:162

| | 02/18/2008 5:49 PM |
| My Active Forum search wasn't working either... In part for the same reason. It would be nice to know who uses Ajax, wouldn't it. Of course, now I get "undefined" rather than the spinning wheel. I assume that since "*.axd" goes thru PageBlaster that now this post only applies to the odd JS and CSS file that your are not able to porcess. Are you running gif's and jpg's thru here as well? --- DaveS | | | |
|
John Mitchell Posts:2780


| |
John Mitchell Posts:2780


| | 02/18/2008 5:52 PM |
| Yes, I am running images through PageBlaster. | | | |
|
John Mitchell Posts:2780


| | 02/18/2008 6:18 PM |
| Dave, The difference in the attached config files are a carriage return right after the SearchFor node.
What happens when the condition evaluates to false is that you still have that carriage return to search for and then it does the replace which could cause the blank page. I may be able to make it a little more forgiving by trimming off carriage returns, but I do want to allow for white space inside the searchFor node. | | | |
|
DavidWSnow
 Posts:162

| | 02/18/2008 6:56 PM |
| Maybe you need to add a comment in the config file stating DO REFORMAT spaceing is important. I though I'd try the static page stuff on my Vista IIS7 localhost. It sure looks different that your pictures. I put the mappings in via "Handler Mappings" but there is an Alert on the page stating that the must be done via "System.web/httphandlers" I edited them into web.config right after the line that you added for *.css & *.js I was suprised to find that you had added a line to web.config here. If I hadn't been working here I might have missed it the next time i upgrade. I like that you are doing all of the web.config editing with this version, but a comment or two might be nice the next time someone has to merge to upgrade to 4.8.1 It only seemed to raise my score 1 point, so I think that I am still missing something. /DaveS |

| | |
|
John Mitchell Posts:2780


| | 02/18/2008 7:22 PM |
| I haven't used IIS7 yet, but try clicking on that "Add Script Map" link. I think that will allow you to map extensions to the aspnet_isapi.dll. Also look for somewhere where images are already mapped. | | | |
|
DavidWSnow
 Posts:162

| | 02/18/2008 8:34 PM |
| The "Add script map" is where I had added *.jpg. I can't find any explicit jpg mapping but there is an * mapping at the bottom. This was the only place I could find to add the control | | | |
|
lodani dani
 Posts:45

| | 02/19/2008 9:44 AM |
| John, 1) You were right, the RadTreeview problem has been solved disabling this rule: "Move dnn js links to Head". I attached here the two html of the page containing the radtreeview executed with and without this rule. 2) I'm having the Webresource.axd without hitting Ctrl+F5, with a normal navigation I'm having it 80% of the times. But since i suspect that I'm the only one affected by this problem I'll research a little bit more. It happens only with my remote IIS6 machine, and never in my development machine with Vista IIS7. thanks, dani |
Attachment: 1219441447471.zip
| | |
|
lodani dani
 Posts:45

| | 02/19/2008 11:09 AM |
| I'm afraid activeforums removed some of the rule you just posted :-( | | | |
|
John Mitchell Posts:2780


| | 02/19/2008 11:10 AM |
| dani,
It looks like that rule may be too agressive as it is pulling stuff into the head that shouldn't be there.
Try changing it to this: Ahh, the Forum ate it again. I have attached a new config file. |
Attachment: 1219105333371.zip
| | |
|
lodani dani
 Posts:45

| | 02/19/2008 11:55 AM |
| Great job ! the new rule works like a charm! thanks!!!!!! | | | |
|
lodani dani
 Posts:45

| | 02/19/2008 5:25 PM |
| John,
Is there any secret way to flush all the pageblaster cache (memory and disk) ? If not, It'd be a nice to have a button in the portal admin to clear all the cache at once.
I'm updating skins and to delele the cache folder and changing the web.config to shutdown ASP.NET through FTP is quite painful....:-) | | | |
|
John Mitchell Posts:2780


| | 02/19/2008 6:06 PM |
| Yes, Dave requested that a while ago. Having a way to flush cache in the PageBlaster admin is on my list.
One thing that you may not be aware of is when you delete the disk cache it also removes those pages from memory, so you don't need to restart the app.
| | | |
|