私は、アプリケーションのバグを見つけるのに役立つ小さな分析ページを書いています。本質的には、実際のデータとログエントリを視覚的に比較し、データに対して少し分析を実行することができます。
これはデバッグ専用であり、これをライブサイトに展開するため、サーバーの負荷をできるだけ少なくしたいと思います。分析オプションのいくつかには、かなり重い部分文字列検索またはnが含まれます2 オペレーションなので、これをクライアントにオフロードします。
これは、PHPページがテーブルとログからデータを取得し、その一部をJSONして書き出し、クライアントのJavascriptがすべての分析などを実行することを意味します。
問題は、JSON化されたデータが数MB大きくなり、サーバーへの接続が遅くなることです。なんとかしてデータを圧縮するといいでしょう。誰かアイデアがありますか?
環境はPHP + Apache; mod_gzipがインストールされるかどうかわかりません;そして私はそれを制御できません。
PHPの出力コントロール を使用してデータを圧縮できます。スクリプトの先頭で出力の前にこの呼び出しを行うだけです。
ob_start('ob_gzhandler');
これで、出力はgzipまたはdeflateのいずれかで圧縮されます。クライアント。
PHP 5.4はJSON_UNESCAPED_UNICODEになっているため、charを置き換えることができます。
\ u00f3->Ĺ› =Ś
eq:
json_encode($data,JSON_UNESCAPED_UNICODE);
Apacheが選択されている場合(そして、元の質問で述べたように)、. htaccessにいくつかのルールを追加できます。
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
# Add any mime-type you think is appropriate here
AddOutputFilterByType DEFLATE application/json
</IfModule>