多线程服务器(MTS)和专用服务器的区别

运维 服务器运维
多线程服务器和专用服务器,偶尔被问及数据库的共享模式和专用模式的区别,有一些模糊,故做一下区别分析。

偶尔被问及数据库的共享模式和专用模式的区别,有一些模糊,故做一下区别分析:

MTS(多线程服务)和专用模式的区别是:

专用模式是 专用服务进程为客户端进程做一对一处理,客户进程(不管什么程序连接到数据库)将直接在如TCP/IP套接词这样的一些网络管道上,与专用服务器连接。数据缓冲池中查找数据,处理sql。

MTS模式是 共享服务进程 取代了 专用模式的 专用服务进程 。客户进程将首先由分配器dispatche进程来分配 客户端请求 到SGA中的 请求队列,然后由 共享服务进程来调出并处理,得出的结果(数据,返回代码等)响应 被共享服务进程放入到响应对列,等待分配器进程来传送给客户端进程。

当我们发布

sqlplus scott/tiger@tns

其中tns是TNS服务名称,tns代表(transparent network substrate),它是内建于oracle客户端的‘平台’软件,它处理远程连接--允许对等通信。TNS连接串告诉oracle软件如何连接到远程数据库。一般来说,运行在机器上的客户端软件将读取tnsname.ora文件。

tns =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = jimmypeng)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test)
    )
  )
 
通过这个文件,客户端软件知道要连接谁,它将连接打开1521端口的服务端jimmypeng的tcp/ip套接字连接。

服务端的net8配置好后,监听器也在运行,那么这个连接就可以接受了。服务端有个tns listener进程开启,当它接收到联入的连接请求时,负责检查这个请求,使用自己的配置文件,检查ip地址是否正确,或者是主机名是否正确,来判断是否接受请求或者是拒绝请求,并使我们完成连接。

如果是专用模式,会由监听进程创建一个专用服务进程,最后由服务器进程接受客户端的请求。监听进程与请求脱钩 。

如果是多线程模式,监听进程的行为将不同,监听器进程知道我们在数据库上的分配进程dispatcher。当接受到客户端请求时,监听器从可用的分配器池中选择一个分配进程。监听器把 对客户端如何连接到分配器进程的信息发送给客户端。因为监听器是在服务端的一个主机名和端口上运行,所以必须做此事。但是分配器将接受主机上随机分配的端口上的连接。监听器知道这个随机分配的端口,并选择一个分配器。客户端然后与监听器断开并直接连接到这个分配端口上的分配器。对数据库就有了一个物理上的连接。


您正在阅读:多线程服务器(MTS)和专用服务器的区别

【编辑推荐】

  1. 惠普ML150 G3塔式服务器高性价比之选
  2. 中小企业如何选择虚拟主机提供商?
  3. 服务器选购前必须了解的10个专业术语解释

责任编辑:王观 来源: 赛迪网
相关推荐

2017-11-10 08:58:49

Web服务器应用程序

2011-12-08 13:04:06

JavaNIO

2010-08-25 09:06:36

Oracle

2012-02-23 10:02:08

Web服务器应用服务器

2009-12-01 15:40:45

2009-02-18 10:41:16

多线程服务器稳定Java

2010-05-21 11:50:54

IIS服务器

2020-08-13 07:00:00

服务器硬件技术

2011-11-19 15:45:20

虚拟化虚拟专用服务器虚拟服务器

2011-11-18 17:37:24

虚拟专用服务器VPS服务器虚拟化

2010-03-19 14:01:55

Java Socket

2018-12-20 09:36:24

2010-03-17 17:54:25

java Socket

2011-06-30 18:03:58

QT 多线程 服务器

2019-02-26 16:20:52

FTP服务器

2018-02-05 10:36:01

APP服务器WEB

2010-05-17 16:50:38

IIS服务器

2022-03-14 15:10:20

云服务器物理服务器性能

2017-09-14 08:43:05

2010-05-19 15:00:37

IIS服务器
点赞
收藏

51CTO技术栈公众号