[Geoserver-devel] GZip

A couple notes, for the history file:

- Jesse has found that using gzip compression makes a huge difference to the user experience working with WFS data sources.
- TomCat does not ship with gzip compression enabled by default, but it does support it. The magic configuration incantation should be prominently part of the geoserver tomcat deployment instructions. (Jesse?)
- Jetty may or may not support it, but if it does, it should be turned on by default.

The compression negotiation protocol in HTTP ensures that clients that don't support it (don't ask for it as part of their request header) don't get it, so there is *no* downside to turning it on.

(09:42:33) Paul Ramsey: Because widening the windows (max compression) would make it even better.
(09:42:40) Jody Garnett: indeed
(09:42:44) Paul Ramsey: But that's probably not what is the default when you turn on compression on a web server.
(09:43:06) Paul Ramsey: Oh, the whole gzip thing should be added to the geoserver docs.
(09:43:13) Paul Ramsey: Because it's a tomcat configuration item.
(09:44:01) Paul Ramsey: Does the little bundled http server w/ geoserver do compression?
(09:44:23) Jody Garnett: good question for their devel list - I am not sure

Paul Ramsey wrote:

A couple notes, for the history file:

- Jesse has found that using gzip compression makes a huge difference to the user experience working with WFS data sources.
- TomCat does not ship with gzip compression enabled by default, but it does support it. The magic configuration incantation should be prominently part of the geoserver tomcat deployment instructions. (Jesse?)

Cool, added it here: http://docs.codehaus.org/display/GEOSDOC/GeoServer+in+Production+Environment Jesse, could you add a bit about how to set the option in tomcat?

- Jetty may or may not support it, but if it does, it should be turned on by default.

I'll look in to making it the default with Jetty, I imagine it should be possible.

Also note that GeoServer supports GML2-GZIP as an output format, where GeoServer will do the gzipping for you. I think I remember Paul thinking we should just leave it to the servlet container, but I felt there was no harm in doing both.

But you could have uDig look for GML2-GZIP as an output format on servers, and I think others may support it as well. Then it would get better performance in cases where people forget to configure their servers.

best regards,

Chris

The compression negotiation protocol in HTTP ensures that clients that don't support it (don't ask for it as part of their request header) don't get it, so there is *no* downside to turning it on.

(09:42:33) Paul Ramsey: Because widening the windows (max compression) would make it even better.
(09:42:40) Jody Garnett: indeed
(09:42:44) Paul Ramsey: But that's probably not what is the default when you turn on compression on a web server.
(09:43:06) Paul Ramsey: Oh, the whole gzip thing should be added to the geoserver docs.
(09:43:13) Paul Ramsey: Because it's a tomcat configuration item.
(09:44:01) Paul Ramsey: Does the little bundled http server w/ geoserver do compression?
(09:44:23) Jody Garnett: good question for their devel list - I am not sure

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:1003,44d37abc195031429667743!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org

Hmmmm... Can't seem to find any reference to jetty supporting it. The only thing that seems to be there is an option to have it do gzip mime-types on content types that are already gzipped. Also found this: http://www.thomas-bayer.com/gzip-compression-filter.htm which is a servlet filter that looks like it handles the whole negotiation. If we used it it looks like we'd get gzip compression by default.

Chris

Chris Holmes wrote:

Paul Ramsey wrote:

A couple notes, for the history file:

- Jesse has found that using gzip compression makes a huge difference to the user experience working with WFS data sources.
- TomCat does not ship with gzip compression enabled by default, but it does support it. The magic configuration incantation should be prominently part of the geoserver tomcat deployment instructions. (Jesse?)

Cool, added it here: http://docs.codehaus.org/display/GEOSDOC/GeoServer+in+Production+Environment Jesse, could you add a bit about how to set the option in tomcat?

- Jetty may or may not support it, but if it does, it should be turned on by default.

I'll look in to making it the default with Jetty, I imagine it should be possible.

Also note that GeoServer supports GML2-GZIP as an output format, where GeoServer will do the gzipping for you. I think I remember Paul thinking we should just leave it to the servlet container, but I felt there was no harm in doing both.

But you could have uDig look for GML2-GZIP as an output format on servers, and I think others may support it as well. Then it would get better performance in cases where people forget to configure their servers.

best regards,

Chris

The compression negotiation protocol in HTTP ensures that clients that don't support it (don't ask for it as part of their request header) don't get it, so there is *no* downside to turning it on.

(09:42:33) Paul Ramsey: Because widening the windows (max compression) would make it even better.
(09:42:40) Jody Garnett: indeed
(09:42:44) Paul Ramsey: But that's probably not what is the default when you turn on compression on a web server.
(09:43:06) Paul Ramsey: Oh, the whole gzip thing should be added to the geoserver docs.
(09:43:13) Paul Ramsey: Because it's a tomcat configuration item.
(09:44:01) Paul Ramsey: Does the little bundled http server w/ geoserver do compression?
(09:44:23) Jody Garnett: good question for their devel list - I am not sure

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

!DSPAM:1003,44d38a98262431995013331!

------------------------------------------------------------------------

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:1003,44d38a98262431995013331!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org

It appears to be free-as-in-beer, not free-as-in-speech.

You could take your (evil) GML2-GZIP approach and do it right, by interrogating the HTTP headers, seeing if the client is requesting Content-encoding: gzip, and then giving them what they ask for. And then you can remove the silly format type from the capabilities too :slight_smile: But then I suppose there is a danger of starting to fight with the container, double-compressing, etc, which is why it's best to just let the container do it...

P

On 4-Aug-06, at 11:07 AM, Chris Holmes wrote:

Hmmmm... Can't seem to find any reference to jetty supporting it. The only thing that seems to be there is an option to have it do gzip mime-types on content types that are already gzipped. Also found this: http://www.thomas-bayer.com/gzip-compression-filter.htm which is a servlet filter that looks like it handles the whole negotiation. If we used it it looks like we'd get gzip compression by default.

Chris

Chris Holmes wrote:

Paul Ramsey wrote:

A couple notes, for the history file:

- Jesse has found that using gzip compression makes a huge difference to the user experience working with WFS data sources.
- TomCat does not ship with gzip compression enabled by default, but it does support it. The magic configuration incantation should be prominently part of the geoserver tomcat deployment instructions. (Jesse?)

Cool, added it here: http://docs.codehaus.org/display/GEOSDOC/GeoServer+in+Production+Environment Jesse, could you add a bit about how to set the option in tomcat?

- Jetty may or may not support it, but if it does, it should be turned on by default.

I'll look in to making it the default with Jetty, I imagine it should be possible.
Also note that GeoServer supports GML2-GZIP as an output format, where GeoServer will do the gzipping for you. I think I remember Paul thinking we should just leave it to the servlet container, but I felt there was no harm in doing both.
But you could have uDig look for GML2-GZIP as an output format on servers, and I think others may support it as well. Then it would get better performance in cases where people forget to configure their servers.
best regards,
Chris

The compression negotiation protocol in HTTP ensures that clients that don't support it (don't ask for it as part of their request header) don't get it, so there is *no* downside to turning it on.

(09:42:33) Paul Ramsey: Because widening the windows (max compression) would make it even better.
(09:42:40) Jody Garnett: indeed
(09:42:44) Paul Ramsey: But that's probably not what is the default when you turn on compression on a web server.
(09:43:06) Paul Ramsey: Oh, the whole gzip thing should be added to the geoserver docs.
(09:43:13) Paul Ramsey: Because it's a tomcat configuration item.
(09:44:01) Paul Ramsey: Does the little bundled http server w/ geoserver do compression?
(09:44:23) Jody Garnett: good question for their devel list - I am not sure

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
!DSPAM:1003,44d38a98262431995013331!
------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
!DSPAM:1003,44d38a98262431995013331!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org
<cholmes.vcf>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Paul Ramsey wrote:

It appears to be free-as-in-beer, not free-as-in-speech.

Ah, right, didn't look closely enough.

You could take your (evil) GML2-GZIP approach and do it right, by interrogating the HTTP headers, seeing if the client is requesting Content-encoding: gzip, and then giving them what they ask for. And then you can remove the silly format type from the capabilities too :slight_smile: But then I suppose there is a danger of starting to fight with the container, double-compressing, etc, which is why it's best to just let the container do it...

Cool. I'm fine with that, clients can just choose to use or ignore the gml2-gzip option as they'd like. If we ever switch embedded servlet containers back to tomcat I'll look to add the default option. I would imagine the servlet container would be smart enough to figure out if the content type is already gzipped and not double compress, but then again I imagined Jetty would support gzip output.

C

P

On 4-Aug-06, at 11:07 AM, Chris Holmes wrote:

Hmmmm... Can't seem to find any reference to jetty supporting it. The only thing that seems to be there is an option to have it do gzip mime-types on content types that are already gzipped. Also found this: http://www.thomas-bayer.com/gzip-compression-filter.htm which is a servlet filter that looks like it handles the whole negotiation. If we used it it looks like we'd get gzip compression by default.

Chris

Chris Holmes wrote:

Paul Ramsey wrote:

A couple notes, for the history file:

- Jesse has found that using gzip compression makes a huge difference to the user experience working with WFS data sources.
- TomCat does not ship with gzip compression enabled by default, but it does support it. The magic configuration incantation should be prominently part of the geoserver tomcat deployment instructions. (Jesse?)

Cool, added it here: http://docs.codehaus.org/display/GEOSDOC/GeoServer+in+Production+Environment Jesse, could you add a bit about how to set the option in tomcat?

- Jetty may or may not support it, but if it does, it should be turned on by default.

I'll look in to making it the default with Jetty, I imagine it should be possible.
Also note that GeoServer supports GML2-GZIP as an output format, where GeoServer will do the gzipping for you. I think I remember Paul thinking we should just leave it to the servlet container, but I felt there was no harm in doing both.
But you could have uDig look for GML2-GZIP as an output format on servers, and I think others may support it as well. Then it would get better performance in cases where people forget to configure their servers.
best regards,
Chris

The compression negotiation protocol in HTTP ensures that clients that don't support it (don't ask for it as part of their request header) don't get it, so there is *no* downside to turning it on.

(09:42:33) Paul Ramsey: Because widening the windows (max compression) would make it even better.
(09:42:40) Jody Garnett: indeed
(09:42:44) Paul Ramsey: But that's probably not what is the default when you turn on compression on a web server.
(09:43:06) Paul Ramsey: Oh, the whole gzip thing should be added to the geoserver docs.
(09:43:13) Paul Ramsey: Because it's a tomcat configuration item.
(09:44:01) Paul Ramsey: Does the little bundled http server w/ geoserver do compression?
(09:44:23) Jody Garnett: good question for their devel list - I am not sure

-------------------------------------------------------------------------

Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

-------------------------------------------------------------------------

Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
!DSPAM:1003,44d38a98262431995013331!

--Chris Holmes
The Open Planning Project
http://topp.openplans.org
<cholmes.vcf>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________

Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:1003,44d38f09324491971556521!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org