スキップしてメイン コンテンツに移動

投稿

ラベル(圧縮)が付いた投稿を表示しています

Spring Bootのコンテンツ配信でgzip圧縮を有効にする方法

Google App EngineのJava 17のStandard EnvironmentでSpring Bootアプリケーションを運用していたところ、サーバーから送信されるhtmlにgzip圧縮が効いていないことに気が付きました。 gzip圧縮が効いているかどうかは、下記のようなサイトに調べたいページのURLを入力すれば確認できます。 https://pagespeed.web.dev/ https://www.giftofspeed.com/gzip-test/ Spring Bootでgzip圧縮を有効にするにはapplication.propertiesに下記のように追記すればOKでした。ちなみにGoogle App Engine側の設定は特にいじっていません。 # 圧縮を有効にするかどうか server.compression.enabled = true # 圧縮対象のmite type server.compression.mime-types = text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json # 圧縮を効かせる最小レスポンスサイズ server.compression.min-response-size = 1024 Google App EngineのDash Boardで確認したところ、見事にネットワークの使用帯域が1/5になりました!

PHPでZipファイルを作成

PHPでZipファイルを作成するためのコードです。 ZipArchive::openメソッドの第2引数のオプションで新規作成や既存Zipファイルへの追加をコントロールできます。 ZipArchive::openメソッドの戻り値をチェックすることで、openに成功したか失敗したかを確認することができます。 function createZipFile(string $zipFilePath, $targetFiles) { $zip = new \ZipArchive(); try { $zip->open($zipFilePath, \ZipArchive::CREATE|\ZipArchive::OVERWRITE); foreach($targetFiles as $path => $localName) { $zip->addFile($path, $localName); } } finally { $zip->close(); } }

zip圧縮されたsqlを解凍しながらMySQLに実行させる方法

mysqldumpなどで生成されたzip圧縮された巨大なsqlを解凍しながら、mysqlへ実行(リストア)する方法です。 パイプ(|)とリダイレクト(<)を駆使します。 gunzip < test.sql.gz | mysql -u USER -pPASSWORD -D DBNAME ちなみにmysqldumpの出力をzip圧縮する方法は下記になります。 mysqldump -u USER -pPASSWORD DBNAME | gzip > dump.sql.gz