会社の後輩に、社内のFAQの利用率を高めたいからなんとかしたいといわれ、自然言語の入力を受け付けて近いFAQのリンクを戻すコードを書いてみました。 後輩に説明しながらという点と元データも70件程度と少なかったことや、そもそも自分がちゃんと理解してない点もあったので、gensimやsklearn等は用いずになんちゃってBoWで実装しました。
続きを読むISUCON7で惨敗してきました
先日ISUCON7に出場してきました。個人としては初めての参加でしたが、結果としては最高得点でも予選通過の20万に遠く及ばない、7万程度と振るいませんでした。 反省の意味も込めて感想を残します。
敗因
今回の予選は初の複数台構成でした。そのため、nginxでのロードバランス等が大事だったと思います。加えて、N/W帯域の静的ファイル配信で以下にキャッシュを 効かせるかという点でもnginx力の求められるお題だったと思います。そんなわけで辛かった点。
- チームメンバーがアプリよりでnginx力がそこまでだった(特にnginxを担当した自分がLastModfied等をうまく指定できてなかった)
- wsgi_lineprofを使用する予定だったが、いれるとパフォーマンスの問題でベンチマーカが通らなかった
来年に向けて
nginxで、何か試したい!と思ったときにパッとできるだけの基礎力を強化したいと思います。あとプロファイラはきっと/dev/shmに書き出せばいけたのかなぁ・・・
Redisの永続化とパフォーマンスのバランスを考えてみる(redis-pyを添えて)
ISUCONに関わって初めて真面目にRedisと向かい合ってます。RedisはオンメモリのKVSですが、デフォルトの設定では、再起動後もその内容が失われないように永続化されています。しかし、ISUCONというパフォーマンス重視の環境で永続化を考える場合、いくつか検討事項があるように思います。
続きを読むFlaskで書かれたWEBアプリをBottleに書き換えるときの勘所
今週はISUCON7予選ですね。ここのところ毎回ですが今回もISUCON関連のネタです。ISUCONのPython実装はFlaskで作成されているケースが多いですが、これをBottleに書き換えるとパフォーマンスが上がるケースがあります。しかし書き換えにはいくつか注意点があります。
続きを読む