だいぶ改善したぽい
ショップ系DBが重すぎ原因と思うが、
SQLの問い合わせ回数減らしたり、
各種Feedをキャッシュするようにしたりした。
各種Feedのキャッシュは効果ありそう。
Feed以外も遅いときあるんだが、
遅い処理が重なって遅くなるんだと思うから、
特にまずそうな箇所を改善すれば全体軽くなるね。
楽天系なんかもファイル保存する仕様にした方が良さそうだな。
メモリがいっぱいあればMySQLに割り当てれば良さそうなんだが、
安いVPSだとそうもいかない。
ディスクはいっぱいあるんだし、
サイトマップみたいに5万件取ってくるようなのは生成済みのをキャッシュすべきだね。
あと、ソート処理があるからリストページもある程度ディスクにキャッシュした方が良さそう。
ページ番号なしのノード別トップだけでも検索結果のリストを保存しておこうかと思う。
でも、キャッシュ作っても、キャッシュに有効期限必要だから滅多に人来ないんじゃあまり意味ないかも。
検索経由で商品別ページへの直接来訪を狙ってるわけだし、
リストページはロボ避けしちゃってもいいかもしれんな。
商品別ページは速度問題ないはずだし。
リストページの処理が遅くなって全体が遅くなるのはまずい。