vishaの日記: Linux、そしてJava
UFJがチャレンジャーなのは間違いないと思うけど、適所を外しているかどうかは結果を見てみないとわかんないな。ひとつ言えるのは、本当にそのOSや言語、プラットフォームが使い物になるかどうかを見極めるには、それらをそれなりに使い込まなきゃならないってことだ。別の言い方をするなら、複数の選択肢を検討して最適解を得るためには、各選択肢を実際にプロダクションレベルで使った経験がなければならないってこと。
ひとつ、すごく低レベルな例を挙げよう。ある会社のWebベースシステム(Javaベースだった)が、ユーザが倍増した途端使い物にならないほどの速度低下に見舞われた。そこのマネージャは言下に「だからJavaはだめなんだよ」と言い放っていたのだが、たまたまそのサーブレットエンジンで他のシステムを構築した経験から、そのレベルの負荷で問題になるような速度低下が起こるとは思えなかった。で、ちょっと調べてみたら、データベースプロセスがulimitに引っかかっているのが原因だったのだ。具体的にはFile Descriptionの上限にぶつかって、コネクションを受けられなくなっていたわけ。件のマネージャはサーブレットエンジンに組み込まれたコネクションプールの上限は引き上げていたのだが(しかも、こっちはなぜかulimitがかかっていなかった)、データベースの方は見てなかったわけだ。彼がUNIXとJavaにそれほど慣れていなかったことと、「Javaは遅い」という強い先入観を持っていたことが災いした。データベースプロセスのulimitを引き上げたら、ほとんど以前と変わらないレベルの動作速度になった。
全くひどい話だが、案外こういうポカを犯したまま、「○○ってだめだな」と宣うIT技術者もどきは少なくない。俺だって、経験のないWindowsプラットフォームに関しては同じことをやってしまう可能性はある。もっとも、最近はWindowsプラットフォームに精通した同僚がいるから、彼にまかすなり意見を求めるなりできるのだが。
Linux、そしてJava More ログイン