程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 說一說如何配置Oracle的MTS Part1

說一說如何配置Oracle的MTS Part1

編輯:關於Oracle數據庫

  一、簡介

  MTS(Multi-Threaded Server)是ORACLE SERVER的一個可選的配置選擇,是相對DEDICATE方式而言,它最大的優點是在以不用增加物理資源(內存)的前提下支持更多的並發的連接。換句話說,如果你只有2G的物理內存,而你又想支持2000個連接,在獲取最好性能的前提下,你就應該選擇MTS了。

  本文先說一說MTS的工作方式,然後與DEDICATE方式的做一下比較,接下來說一下MTS具體配置實現,最後說一些優化MTS配置選項的問題。

  二、MTS的工作方式

  1、Joseph C.Johnson以餐館給出一個MTS的形象的比喻

  假設ORACLE是一家餐館,當你走進一家餐館時你感覺最舒服的服務方式就是有一個專門的waiter來為你服務,而不管餐館中來了多少人,她只對你請求應答,這是DEDICTE的處理方式,也就是說每一個ORACLE客戶端的連接都有一個專門的服務進程來為它服務。而大部的餐館的服方式都不是一對一的,當你走進的時侯,你就被指定了一個waiter,她也可能為其它桌服著務,這對於餐館來說是最有利的,因為他們可以服務更多的客人而不需要增加他們的員工。這樣對你來說也可能是不錯的,如果餐館不是太忙,她服務的客人的請求都很簡短且容易完成,你的感覺也好像自己擁有一個專門的waiter,waiter把你的ORDER轉給廚師,然後把做好的菜拿給你,這就是MTS的處理方式,這些共享的waiters我們叫她們為Dispatchers,廚師我們則叫他們為Shared Server Processes。

  2、以簡圖說一下MTS的工作方式(SYBEX書中的一幅圖)


 1)客戶端向Dispatcher發一個服務請求

  2)Dispatch把這個請求放到SGA區的請求對隊列中

  3)由一個或幾個服務進程來處理這個請求

  4)服務進程把進行的結果放到Dispatch的SGA區的的響應隊列中

  5)Dispatcher從響應隊列拾起結果

  6)完成客戶端的請求並把結果回送給客戶端

  三、MTS與DEDICATE方式方面做一下比較,為方便比較繪制如下的簡表

序號   比較項                        MTS方式                              DEDICATE方式
 
1       服務進程                     多個連接共享一個服務進程              一個連接有一個專門的服務進程
 
2      每個客戶端的連接使用的內存量   3-4M                                150-200K
 
3      適合的應用環境                適合連接數很多且請求很短少的OLTP環境 如果Oracle服務器的資源夠用,這種方式是優選
 
4      CPU負載                       會造成一些CPU的負載,如果你的CPU有瓶頸,則不要用這種方式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved