データーベースのパフォーマンスをチェックしてみました。 解析者 古口正巳 1998.7.26更新 次のような環境で試験は行いました。 いずれも自作機ですので結果は参考程度に考えてください。 自作1号機(Name:P6) CPU:Pentium Pro 200MHz(66MHz*3) M/B:ASUStec TP6X6(440FX) 2nd Cash 256KB on CPU SIMM:128MB(32*4 EDO) NIC:Intel Ethernet PRO100 HDD:Quantum bigfoot 6.4(E-IDE) OS:Windows 95 IE 4.01 IIS:IIS 4.0(NT Option pack1) 自作5号機(Name:P2) CPU:Pentium II celeron-266 450MHz(112*4 Vcore=2.2V) M/B:ASUSstec P2B(440BX) 2nd Cash None DIMM:256MB(PC-100 SD-RAM cas=3) NIC:Intel Ethernet PRO100 HDD:Quantum fireboll SE 8.4(U-ATA) OS:Windows NT 4.0 Workstation IE 4.01 IIS:IIS 4.0(NT Option pack1) 両者をクロスケーブル(C5)でつないで双方をサーバー・クライアントに交互に設定して行いました。 前回のテストとp6のNICとp2のメモリーの搭載量が異なります。 結果は示しませんがp6のNICを交換するだけで1.8倍パフォーマンスが向上しました。 やっぱり安物のNICはCPU負荷率が高いようです。 使用ソフト:自作 vbcgbnch V9.1(http://www.sf.airnet.ne.jp/koguchi/)  記録はWindowsに付属のパフォーマンスモニターやシステムモニターを使用しました。 結果および考察(個人の感想) 毎日の項目に70byteデーターを入力してのカレンダー掲示板の実行(サーバーP2使用) 実行形式    CPU占有率(1回毎)          実行速度 ASP - FILE CPU Server 100%( 9.4%), Criant 75%( 7.0%) 10.6回/秒 VBCGI- FILE CPU Server 100%(13.0%), Criant 75%( 9.7%) 7.7回/秒 VBCGI- DAO CPU Server 100%(16.9%), Criant 80%(13.6%) 5.9回/秒 VBCGI- ADO(DAO) CPU Server 100%(31.3%), Criant 55%(17.2%) 3.2回/秒 ASP - ADO(DAO) CPU Server 90%(25.7%), Criant 45%(12.9%) 3.5回/秒 ASP - ADO(SQL) CPU Server 100%(25.6%), Criant 45%(11.5%) 3.9回/秒 注意:ADO(SQL)はそのままではうまく動作しなかったので次の変更を加えた。  UPSIZING WIZARDを使用しアクセスのデーターベースをSQLデーターベースに変換した。  DAOとSQLの仕様の違いの修正が必要   tempDBの拡張→2MB->20MB, エリーの[]除去,大文字小文字の区別の修正→すべて小文字に,DELETE * FROM →* FROMを取り除く ファイル版が2-3倍DBよりパフォーマンスが高かった。ファイル版ではASPの方がVB CGIより速かった。 DAOとADO比較するとDAOの方が2倍弱速かった。(プログラムが違うためかもしれない) ADOのDAO,SQL版の差はわずかであった。SQLではtempDBが不足してエラーが発生したため拡張を行った。 FILE版では一つのファイルにまとめてしまうことによるさらなるパワーアップも期待できるものと思われる。 DB版では必要なデーターしか入れてないのでデーターベースが大きくなるとさらなる速度低下が予想される。 DBを多用するプログラムではDAO 3.5を用いたVBCGIの方がパフォーマンスが高い事が期待される。 必要がない場合はデーターベースはできるだけ使わない方がパフォーマンスアップには役立つものと推測された。  この結果はあくまでも条件を限定した結果であります。  また考察も個人的な感想であり事実と異なることがあります。  実験・解析・報告者 古口正巳 1998.07.26 (koguchi@sf.airnet.ne.jp http://wwww.sf.airnet.ne.jp/koguchi/) 測定なまデーター さらにログファイルをアクセスにインポートして解析した。 ASP-70byte/dayデーターでカレンダー掲示板の実行(P2) VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/18 15:39:04 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /aspsamp/calendar.asp HTTP/1.0 経過時間   : 95 受信(byte)  : 10,609,276 (byte/s)   : 111,677 実行回数   : 1006 (byte/回)   : 10,546 回/sec    : 10.6 CPU Server 100%(9.4%), Criant 75%(7.0%) 10.6回/秒 1006回記録 すべてのデーターが1回で転送された VBCGI-70byte/dayデーターでカレンダー掲示板の実行(P2) VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/18 15:42:27 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /scripts/calendar.exe HTTP/1.0 経過時間   : 130 受信(byte)  : 11,515,080 (byte/s)   : 88,578 実行回数   : 1003 (byte/回)   : 11,481 回/sec    : 7.7 CPU Server 100%(13.0%), Criant 75%(9.7%) 7.7回/秒 5534回記録 5.5回に分けられてデーター転送された VBCGI-70byte/dayデーターでカレンダー掲示板の実行(P2) DAO 3.5 VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/25 12:14:44 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /scripts/dbcal.exe HTTP/1.0 経過時間   : 170 受信(byte)  : 9,986,002 (byte/s)   : 58,741 実行回数   : 1000 (byte/回)   : 9,986 回/sec    : 5.9 CPU Server 100%(16.9%), Criant 80%(13.6%) 5.9回/秒 5527回記録 5.5回に分けられてデーター転送された VBCGI-70byte/dayデーターでカレンダー掲示板の実行(P2) ADO VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/25 12:03:41 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /scripts/adocal.exe HTTP/1.0 経過時間   : 315 受信(byte)  : 10,086,000 (byte/s)   : 32,019 実行回数   : 1000 (byte/回)   : 10,086 回/sec    : 3.2 CPU Server 100%(31.3%), Criant 55%(17.2%) 3.2回/秒 10688回記録 10.7回に分けられてデーター転送された ASP-70byte/dayデーターでカレンダー掲示板の実行(P2) ADO ASP VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/25 11:56:16 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /aspsamp/adocal.asp HTTP/1.0 経過時間   : 284 受信(byte)  : 10,126,116 (byte/s)   : 35,655 実行回数   : 1001 (byte/回)   : 10,116 回/sec    : 3.5 CPU Server 90%(25.7%), Criant 45%(12.9%) 3.5回/秒 5184回記録 5.2回に分けられてデーター転送された ASP-70byte/dayデーターでカレンダー掲示板の実行(P2) ADO ASP SQL Server 6.5 UPSIZING WIZARDを使用しアクセスのデーターベースをSQLデーターベースに変換した。 DAOとSQLの仕様の違いの修正が必要 tempDBの拡張→2MB->20MB, エリーの[]除去,大文字小文字の区別の修正→すべて小文字に,DELETE * FROM →* FROMを取り除く VB4CGI BENCH V0.91 解析結果 解析日付   : 98/07/25 16:45:09 ホスト    : P2 ポート    : 80 クライアント数: 10 実行間隔(ms) : 100 最大回数   : 1000 出力文字列  : GET /aspsamp/adocal.asp HTTP/1.0 経過時間   : 254 受信(byte)  : 10,136,232 (byte/s)   : 39,750 実行回数   : 1002 (byte/回)   : 10,116 回/sec    : 3.9 CPU Server 100%(25.6%), Criant 45%(11.5%) 3.9回/秒 7047回記録 7.0回に分けられてデーター転送された  この結果はあくまでも条件を限定した結果であります。  また考察も個人的な感想であり事実と異なることがあります。  実験・解析・報告者 古口正巳 1998.07.26 (koguchi@sf.airnet.ne.jp http://wwww.sf.airnet.ne.jp/koguchi/)