まだまだ高速化
PHPで検索エンジンを開発するにあたって
CPUの負荷というのはかなり重要ですね。
PHPは初めてですがこれほど負荷が掛かるとは思っていませんでした。
ローカルアプリと比較しても数倍は重い気がします。
今まで行ってきた高速化ですが
1.gzipやPHPの高速化ツールを導入
2.INDEXの見直し
3.表示用の中間データを保存
検索エンジン作成時よりも2,3倍高速化しましたが
これでもまだ実用に耐えられるか怪しいほど重いですね。
こうなるとやはり検索時に動的に生成するのをやめて
パッチ処理に変更するしか無さそうです。
ffrecipeなんかは部分的にこの方法取ってる感じですね。
取りあえずはサーチの際にバッファを保存するようにして
参照時は先にバッファを見に行くようにしたいと思います。
バッファの更新タイミングが問題ですがレシピ更新時か
時間単位でバッファを削除することにします。
CPUの負荷というのはかなり重要ですね。
PHPは初めてですがこれほど負荷が掛かるとは思っていませんでした。
ローカルアプリと比較しても数倍は重い気がします。
今まで行ってきた高速化ですが
1.gzipやPHPの高速化ツールを導入
2.INDEXの見直し
3.表示用の中間データを保存
検索エンジン作成時よりも2,3倍高速化しましたが
これでもまだ実用に耐えられるか怪しいほど重いですね。
こうなるとやはり検索時に動的に生成するのをやめて
パッチ処理に変更するしか無さそうです。
ffrecipeなんかは部分的にこの方法取ってる感じですね。
取りあえずはサーチの際にバッファを保存するようにして
参照時は先にバッファを見に行くようにしたいと思います。
バッファの更新タイミングが問題ですがレシピ更新時か
時間単位でバッファを削除することにします。
高速化
検索機能を色々みたところCPUの付加が100%になってました。
Google先生に聞いてみたところIndexを付けるとCPU負荷の軽減に
繋がるとのことだったので付けてみました。
・・・
凄く軽くなってます。今までの重さが嘘のよう!
今まで重かったのはDBの設計が悪かったのねorz
Google先生に聞いてみたところIndexを付けるとCPU負荷の軽減に
繋がるとのことだったので付けてみました。
・・・
凄く軽くなってます。今までの重さが嘘のよう!
今まで重かったのはDBの設計が悪かったのねorz
UIが難しい
WEBでUI作るのはWindowsアプリより遥かに時間が掛かりますねぇ。
今回も苦労して作ってみたもののNNでチェックすると
やたら表が小さくなってて作り直し(泣
あれこれ弄って理由を探ったところフォント指定で
小さいフォントを指定していたでした。
NNだとテーブルのサイズまで勝手に弄ってしまうようです。
テーブルサイズは別途指定してるのに勝手に弄るなと!
結局、直接サイズを指定するように直したらIEと同じように表示されました。
タグで記述してたので修正するだけで2,3時間掛かってしまいましたが
これ、スタイルシートで記述してたら1分で直りましたねぇ。
ホント、スタイルシートの偉大さを知りました。
生成するスクリプト量も減るしCGIとは特に相性が良いかも知れません。
今後は出来る限りスタイルシートに移行していきます。
今回も苦労して作ってみたもののNNでチェックすると
やたら表が小さくなってて作り直し(泣
あれこれ弄って理由を探ったところフォント指定で
小さいフォントを指定していたでした。
NNだとテーブルのサイズまで勝手に弄ってしまうようです。
テーブルサイズは別途指定してるのに勝手に弄るなと!
結局、直接サイズを指定するように直したらIEと同じように表示されました。
タグで記述してたので修正するだけで2,3時間掛かってしまいましたが
これ、スタイルシートで記述してたら1分で直りましたねぇ。
ホント、スタイルシートの偉大さを知りました。
生成するスクリプト量も減るしCGIとは特に相性が良いかも知れません。
今後は出来る限りスタイルシートに移行していきます。
gzipも試してみた
Windowsサーバーでもgzipが使えるか調べてみたところ
Apachが圧縮しているらしいので導入してみました。
とはいっても設定ファイルに3行ほど記述しただけです。
↓こんな感じ。
<Directory "/your-server-root/manual">
AddOutputFilterByType DEFLATE text/html
</Directory>
で、Apachを再起動してみましたが何も変わりませんね・・・;
少し寂しいですがアクセスが増えたときに
縁の下で貢献してくれると願って良しとしましょう。
ついでに昔使ってたノートPCのメモリを引出しから発掘したので
増設しときました。128MB→512MB(128MBは引出しへ)
メモリもアップして少しはマシになったかな。
Apachが圧縮しているらしいので導入してみました。
とはいっても設定ファイルに3行ほど記述しただけです。
↓こんな感じ。
<Directory "/your-server-root/manual">
AddOutputFilterByType DEFLATE text/html
</Directory>
で、Apachを再起動してみましたが何も変わりませんね・・・;
少し寂しいですがアクセスが増えたときに
縁の下で貢献してくれると願って良しとしましょう。
ついでに昔使ってたノートPCのメモリを引出しから発掘したので
増設しときました。128MB→512MB(128MBは引出しへ)
メモリもアップして少しはマシになったかな。
高速化
さて、レシピの検索機能も完成したところで
処理の速度が少し気になっていました。
コードの最適化と言う選択もありますが、
とりあえずは手間の掛からない方法で速度アップを試みてみます。
MyZend・・・PHPを最適化するフリーウェア。サーバーにインストールする。
gzip圧縮・・・データを転送する際に圧縮してブラウザに送る手法。
gzipは某掲示板で昔話題になったものですね。
今回は上記のMyZendを試してみました。
サイトからダウンロードしてインストールするだけですが
何となく速くなった気がする・・・?
インストールも簡単だし中々良いですね。
次回はgzipも試してみます。
処理の速度が少し気になっていました。
コードの最適化と言う選択もありますが、
とりあえずは手間の掛からない方法で速度アップを試みてみます。
MyZend・・・PHPを最適化するフリーウェア。サーバーにインストールする。
gzip圧縮・・・データを転送する際に圧縮してブラウザに送る手法。
gzipは某掲示板で昔話題になったものですね。
今回は上記のMyZendを試してみました。
サイトからダウンロードしてインストールするだけですが
何となく速くなった気がする・・・?
インストールも簡単だし中々良いですね。
次回はgzipも試してみます。

