事例:通信プログラムの性能改善コンサルティング
自社のサービスシステムで作成した通信プログラムで思うような性能が出ないということで ご相談をいただきました。利用しているOSSのライブラリを調査し、一緒にソースコードを レビューすることで問題点を見つけることができました。
- 導入企業業種
- ネットサービス
- ユーザー規模
- 約20,000人
- 実施時期
- 2015年1月~2月
- お客様が悩まれていた課題
- 自社開発のシステムで通信処理が上手くできない
- OSSのライブラリの使い方が今ひとつわからない
- 開発会社の担当者を信用して良いかわからない
デージーネットが提案した「通信プログラムの性能改善コンサルティング」
予測を立ててソースコードをレビュー!
スマートフォンのアプリケーションと連携して動作するサーバプログラムを作成したが、思うように動かないということでコンサルティングを実施しました。サーバプログラムはWWWサーバと連携して動くソフトウェアではなく、独自に作成したサーバプログラムでした。
システム構成を把握
まず、お客様にシステムの構成について説明をしていただきました。実際に動いている状況をデモで見せてもらいました。また、実際に問題が発生している状況を、確認させてもらいました。この時点では、私たちから様々な質問をさせていただき、お客様の状況を把握しました。
OSSの通信ライブラリを確認
このサーバプログラムでは、OSSの通信ライブラリを使用していました。また、C言語のライブラリをpythonから利用する複雑な構成をとっていました。まず、このライブラリの使い方を調査しました。そして、実際に発生している問題から考えて、ライブラリのどの部分の使い方が悪いと問題が発生するのかを予測しました。
ソースコードレビューを実施
お客様にお願いして、開発会社とともにソースコードレビューを行いました。ソースコードレビューでは、実際にプログラムの起動部分から順にコードを説明してもらい、処理の概要を把握しました。 実際の処理を確認したところ、やはり通信ライブラリの使い方に問題があることが分かりました。また、性能を損なうボトルネックも判明しました。
問題と解決方法を提示
実際に簡単なプログラムを作成し、同様の問題が発生することをシミュレーションして、お客様と開発会社に確認してもらいました。また、問題の発生原因に関連したTCP/IPネットワークの特性について説明しました。さらに、デージーネットから修正案を提示しました。
コンサルティング後の結果
デージーネットから提示された修正案に基づき、開発会社がソフトウェアを改修しました。その結果、無事に問題点を取り除くことができました。