這兩天針對開發的系統來做壓測調校…
在調校過程中有得到一點點的小收獲…

資料庫的connection的開啟與關閉
會影響Server端與Clinet端的Request和Response時間
有時侯我們會在每個方法(method)一開頭時去開啟connection
方法結束後再關閉connection....

Private Function GetSelCourseData(ByVal studObj As StudObj, ByVal course_kind As String) As DataView
  Dim conn As SqlConnection = DBUtil.CreateSQLConnection()
  Dim ad As New SqlDataAdapter
  Dim myCommand As SqlCommand
  Dim dt As New DataTable
    Try
      myCommand = New SqlCommand("SC_GetFristSelCourseData", conn)
      .....
      GetSelCourseData = dt.DefaultView
      myCommand.Dispose()
      ad.Dispose()
    Catch ex As Exception
      Throw New Exception(ex.ToString)
    Finally
     DBUtil.CloseDBConnection(conn)
    End Try
End Function

雖然這樣的程式好維護…
對於資料庫的開啟與關閉很容易掌控…
但是,當這個方法的前後段程式還需要用到conneciton時…
在效能上就不是非常好的方法了…

後來我將Connection當成一個reference的物件送到各個需要
執行資料庫處理的方法內,在最後一段方法之後再來關閉他…

Dim conn As SqlConnection = DBUtil.CreateSQLConnection()
Try
CallMedthod_1(conn)
CallMedthod_2(conn)
CallMedthod_3(conn)
Catch ex As Exception
Throw New Exception(ex.ToString)
Finally
DBUtil.CloseDBConnection(conn)
End Try

經過壓測結果後…獲得相當明顯的改善!

arrow
arrow
    全站熱搜

    湯瑪的吳 發表在 痞客邦 留言(0) 人氣()