現場と同じ環境が大事
»
先日、あるシステムのトラブルシューティングを行っていました。
エンドユーザに直接さわってもらうものなので、
社内では一般的なテストから、デタラメな操作をおこなうようなヘビーなテストまで行って、問題なしということでリリースしたのですが・・・
何故か現場では半日くらいで調子が悪くなってしまっていました。
結局はあるパターンのメモリ管理の不具合で、すぐに直したのですが、何故社内では再現しなかったのでしょうか。
現場では32ビットOSで、社内では64ビットOSを使っていたのです。
32ビットOSではアドレス空間が4GBしかありませんので、おかしなメモリ確保をしようとするとすぐに(というか、アドレス空間不足)になってしまいます。
しかし、64ビットOSではアドレス空間が172億GBまで広がります。
そうすると、4GBとか5GBとかメモリを確保してしまっても、実際にそのメモリ領域を利用しなければ何の問題もなく(少なくとも表面上は)動いてしまいます。
やはりシステムは利用環境と開発環境はおなじにしておいたほうがいいですね。
SpecialPR