首页 数据库 mysql教程 连接模式:提高数据库性能的捷径

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

Jun 07, 2016 pm 03:48 PM
共享 性能 捷径 提高 数据库 服务器 模式 连接

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

  一、共享服务器模式。

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

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

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

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

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

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

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

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

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

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

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

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

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

  

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

不同Java框架的性能对比 不同Java框架的性能对比 Jun 05, 2024 pm 07:14 PM

不同Java框架的性能对比:RESTAPI请求处理:Vert.x最佳,请求速率达SpringBoot2倍,Dropwizard3倍。数据库查询:SpringBoot的HibernateORM优于Vert.x及Dropwizard的ORM。缓存操作:Vert.x的Hazelcast客户机优于SpringBoot及Dropwizard的缓存机制。合适框架:根据应用需求选择,Vert.x适用于高性能Web服务,SpringBoot适用于数据密集型应用,Dropwizard适用于微服务架构。

C++中如何优化多线程程序的性能? C++中如何优化多线程程序的性能? Jun 05, 2024 pm 02:04 PM

优化C++多线程性能的有效技术包括:限制线程数量,避免争用资源。使用轻量级互斥锁,减少争用。优化锁的范围,最小化等待时间。采用无锁数据结构,提高并发性。避免忙等,通过事件通知线程资源可用性。

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

搭载 AMD EPYC 霄龙 4004 系列处理器,华硕推出多款服务器与工作站产品 搭载 AMD EPYC 霄龙 4004 系列处理器,华硕推出多款服务器与工作站产品 Jul 23, 2024 pm 09:34 PM

本站7月23日消息,华硕推出多款由AMDEPYC霄龙4004系列处理器驱动的服务器与工作站级产品。本站注:AMD于5月推出AM5平台、Zen4架构的EPYC霄龙4004系列处理器,最高提供16核3DV-Cache规格。ASUSProER100AB6服务器ASUSProER100AB6是一款搭载EPYC霄龙4004系列处理器的1U机架式服务器产品,适用于IDC及中小型企业需求。ASUSExpertCenterProET500AB6工作站ASUSExpertCenterProET500AB6是一款A

C++与其他语言的性能比较 C++与其他语言的性能比较 Jun 01, 2024 pm 10:04 PM

在开发高性能应用程序时,C++的性能优于其他语言,尤其在微基准测试中。在宏基准测试中,其他语言如Java和C#的便利性和优化机制可能表现更好。在实战案例中,C++在图像处理、数值计算和游戏开发中表现出色,其对内存管理和硬件访问的直接控制带来明显的性能优势。

Go WebSocket 如何与数据库集成? Go WebSocket 如何与数据库集成? Jun 05, 2024 pm 03:18 PM

如何将GoWebSocket与数据库集成:设置数据库连接:使用database/sql包连接到数据库。将WebSocket消息存储到数据库:使用INSERT语句将消息插入数据库。从数据库检索WebSocket消息:使用SELECT语句检索数据库中的消息。

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

See all articles