NTTグループのソリューションガイド
月刊ビジネスコミュニケーションによるエキスパートブログ
HOME | ABOUT |
atom rss2.0

« previous next »

SIP 性能課題(前回の続き)

2008.02.26|通信ソフトウェア開発 このエントリーをはてなブックマークに追加Yahoo!ブックマークに登録この記事をクリップ!BuzzurlにブックマークBuzzurlにブックマーク

前回、SIPによる性能影響について書いたところある方からもう少し解説を、との意見をいただいた。
SIPサーバに限ったことではないが、ソフトウェア処理では一般的にメモリを操作する処理は時間がかかる。このことについて、最近のソフトウェア現場では意識が低くなっているような気がする。

メモリ操作に時間がかかる?そんなことないでしょう?メモリ使用量を減らせば性能が上がるって結びつかないよね。

なんてことを平然とソフトウェア開発現場で耳にするようになった。 感覚として、メモリ操作は時間がかかると理解してもらうのに、現場でこんなことを言ったりする。“メモリ1Byteをコピーするのはあっという間だけど、1GByteをコピーしようとすると時間かかるよね。既存の交換処理で1つの呼接続を行うために1Kbyteのメモリを使っていたとして、SIPサーバになって、1つの呼接続を行うのに100Kbyteのメモリ操作を行うようになったら、性能に影響があると思わない?” プロセス多重処理のための排他制御については、きっちり検討できる技術者でも案外メモリをどう使うかについてはずさんなものだ。

メモリをあまり意識しないで開発を行うと、例えば数10GBのメモリが必要なお化けソフトが出来上がってしまい、ソフト処理の基幹部分のメモリ操作から見直しが必要という悲惨な状況になったりする。今まででも数例そうなってしまった現場にSEに入ったことがある。

処理ロジックが悪くて、性能が出ないソフトもあるが、そんな場合のほうが手直しは容易だが、メモリ操作起因で性能が出ない場合は、直すのは大変なので要注意。SIPはテキストを処理するので、既存交換機と比べると明らかにプロトコル自体でメモリを食ってしまう。また、SIPサーバではSIPの交換処理自体が基幹処理になるのでSIPをいかにうまく扱うかで性能に大きく影響するのだ。

Latest