连接模式,提高数据库性能的捷径

发表于:2008-12-25 13:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Victor    来源:IT专家网

  一、共享服务器模式

  共享服务器模式,也叫做多线程服务器模式。在这种模式下,Oracle数据库允许多个用户进程共享非常少的服务器进程。所以,可以同时实现用户并发访问的人数也就大大的增加。如果使用专用服务器模式,则每个用户连接数据库时,每个用户进程需要他自己的专用服务器进程。也就是说,客户端进程与服务器端进程是一一对应的。

  而如果采用共享服务器模式的话,则多个用户可以共用一个服务器进程,也就是说,此时客户端进程与服务器进程是多对一的情况。这主要是通过调度程序来实现的。调度程序将多个加入数据库访问会话请求指引到一个共用队列。服务器进程共享池中某个闲置的共享服务器进程依次从队列中获得一个请求。也就是说,一个很小的服务器进程共享池可以为大量的客户机提供服务。

  共享服务器的优缺点可以利用两句话概括。优点是客户端进程多对一,增加了数据库可以支持的用户数。缺点就是各个用户共享一个进程,对用户访问数据库的性能有所影响。

  具体的来说,在以下应用情景下,可以选择采用共享服务器模式。

  1、 前台客户端数量比较多。

  当大量用户需要连接到数据库并且需要有效的使用可用的系统资源的时候,则需要考虑采用共享服务器模式。具体的来说,像现在采用的一些客户端/服务器端模式的网络应用软件,如ERP系统等等。一方面因为用户人数比较多;另一方面企业由于资金有限,所以购置的是一般的服务器。这些服务器由于硬件方面的一些限制,如数据库系统与前台应用服务器采用统一台服务器。所以往往要求数据库能够充分使用硬件资源,以减少两者之间的冲突。

  在这种情况下,往往采用共享式的服务器模式,比较合适。

  2、 服务器内存限制比较大。

  共享服务器模式下,当连接用户增加时,其内存使用率增加不会很多。因为他们共享一个服务器进程。所以,从这一个角度讲,共享服务器模式可以减少内存的使用。但在专用服务器模式下,内存的使用几乎与用户的数量成比例增加。

  所以,用户若在一些老的服务器上部署Oracle数据库的话,因为其主板对内存的升级有所限制,所以,为了得到一个不错的数据库性能,往往采用共享服务器模式。如此,即时同时访问数据库的用户有所增加,其内存也不会有多大的影响。可以大大的降低内存的压力。

  3、 某些特定功能要求采用共享服务器模式。

  虽然说,共享服务器模式与专用服务器模式在大部分情况下,都是通用的,支持Oracle数据库系统的大部分功能。但是,某一些特定的功能,仍然需要数据库管理员在共享服务器模式下,才能够启用。比较典型的,如Oracle数据库服务器的连接共享、连接集中与负载均衡技术等等。他们必须在共享模式下才能够运行。

  负载均衡用来在群集环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理以及均分负载,还能够实现数据库在故障时的容错和无断点恢复。所以,在一些对于性能与稳定性要求比较高的应用场景中,如银行中,往往都会采用负载均衡技术。此时,数据库管理员在配置数据库的时候,就需要考虑采用共享服务器模式。

  二、专用服务器模式。

  在专用服务器模式下,数据库服务器要求每个用户拥有一个专用服务器进程。也就是说,每个服务器拥有一个服务器进程。数据库服务器把现有的服务器进程地质发回客户机,然后客户机将连接请求重新发送到提供的服务器地质,与专用服务器比较。专用服务器模式由于客户端与服务器端进程是一一对应的,所以,其性能上可能会比较有优势。但是,当用户比较多的时候,则其对服务器的硬件资源,特别是内存,会产生比较大的压力。

  若企业应用场景符合如下特征的话,则采用专用年服务器模式能够取得比较好的效果。

  1、 只有少数客户端。

  若连接到数据库的用户比较少,则专用服务器模式是首选。如企业前台是一个财务管理系统,则其使用的人数就会比较少。因为其往往只涉及到一个部门。但是,其数据量会比较多。因为我们知道,对于每一笔交易都需要在财务系统中进行详细的纪录。所以,虽然只是财务一个部门用,但是其纪录量往往是其他各个部门纪录量的总合。在纪录量多、连接用户又比较少的情况下,采用专用服务器模式,可以说是比较明智的选择。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号