Tomcatで画面表示の速度改善


GeneXusのJavaでTomcatを利用している場合に、効果があった速度改善を記載します。
GeneXusはデフォルトで表示する画面のHTMLページを圧縮する設定になっています。

[Auto Compress Http Traffic] プロパティ

HTMLページはGeneXusがやってくれますので、
JavaScriptやCSSをサーバー側の設定で圧縮することで更に改善することができます。

JavaScriptやCSSも全部合わせればかなりのサイズになりますので、
サーバーがクラウドなどで遠隔地にあり、転送速度がボトルネックとなっているシステムだとかなりの効果がでます。
社内LAN上のシステムの場合だとさほど効果はないかもしれませんが、試してみる価値はあると思います。

設定方法

※Tomcat8.5で記載
Tomcat/conf/server.xmlを編集

<Connector port="8080" protocol="HTTP/1.1"
の箇所に以下の設定値を追記

compression="on"
compressionMinSize="2048"
noCompressionUserAgents=""
compressableMimeType="text/html,text/css,text/plain,text/javascript,application/javascript,application/json,image/svg+xml"
useSendfile="false"


例:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents=""
compressableMimeType="text/html,text/css,text/plain,text/javascript,application/javascript,application/json,image/svg+xml"
useSendfile="false"
redirectPort="8443" />

※SSLを使っている場合はSSLの方のConnectorにも追記します



この記事を書いていて気づきましたが、CSVなどのテキストファイルのダウンロードをさせる際にも
レスポンスヘッダーにgzip Content-Encodingを設定すると良いのかも。

コメント

このブログの人気の投稿

IVS文字・サロゲートペア文字の注意

Tomcatの設定3:8080ポート以外で動作させる

Tomcatの設定5:メモリ調整と起動モード

Tomcatの設定4:セキュリティ関連の調整

GeneXusのオプション設定、起動時オプション

Tomcatの設定2:アクセスログの活用