《2022年提高会计信息系统服务器性能的研究.docx》由会员分享,可在线阅读,更多相关《2022年提高会计信息系统服务器性能的研究.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 提高会计信息系统的数据服务器性能的讨论广东省农业治理干部学院 潘伟洪 摘要 随着会计信息化的进展,会计信息系统的集成程度越来越高,储备账套的数据库对数据服务器要求也越来越高;本文针对巨大的账套数据库对服务器造成的压力在既定的硬件条件下如何提高数据服务器性能做出了有益的探讨;在会计电算化教学过程中,以机代账的实操训练是必不行少的教学环节,也是会计信息化实现的详细形式;随着会计电算化向会计信息化过渡,会计信息系统的集成程度也越来越高,大型的后台数据库成为账套治理的主流支持技术,如一、问题的提出SQL Server、Oracle 等;要教会同学以机代
2、账,同学课堂作业就要完成一个或多个的会计业务循环,这意味同学的作业需要几周甚至更长的时间,再加上业务系统的训练,每个同学拥有多个实习帐套,因此,本人曾因教学需要,在一个会计信息系统服务器中建立了 960 个 SQL Server 数据库文件; 在这巨大的账套数据库压力下,960 个帐套数据库实体,即 导致服务器的内储备器开销透支,客户拜访恳求的线程数和句柄数高居不下,CPU 占用率长期为100%, 服务响应长期处于等待状态,同学实训基本停止;二、分析和解决问题一主要缘由 显现在上述问题主要缘由是单个服务器上增加的工作负荷使服务器性能明显下降造成的,所以, 在既定的硬件条件下,途径;如何提高服务
3、器性能是既可节约成本又能解决问题的牢靠二影响 SQL Server 数据服务器性能的因素在 SQL Server 数据服务器安装过程中,默认状态只安装一个数据服务实例,在一个数据服务实例中治理过多的数据库实体时,1、内存的开销SQL Server 数据服务器性能就受到以下因素制约;随着数据库的增多, 支持大量储备过程所需要的内存也成倍地增加;对于 SQL Server 来说,需要更多的虚拟内存空间,以便为每个数据库上的每个过程编译执行方案,然后将该计划储存在过程高速缓存中;数据库的数量越多,所需的服务器过程高速缓存大小就越大;如果执行方案的数量超出了过程高速缓存能够储备的数量,系统将对方案执行
4、重新进行编译,这将削减处理查询的吞吐量;当单个实例上的数据库数量从 500 增加至 1000 时,过程高速缓存中将没有足够的虚拟内存来储存内存中增加的全部查询执行方案;为了释放内存, 以便为其他储备过程的方案腾出空间,系统会丢弃过程高速缓存中的某些执行方案,但是此操作要求在需要时重新编译这些被丢弃的储备过程方案;影响工作负荷性能,服务器性能下降;2、CPU 关系这样所造成的频繁的重新编译工作会名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 默认情形下, SQL Server 数据服务实例的每个线程都被支配给了下一个可用的处理器;C
5、PU 关系掩码设置可以用来将实例限制在CPU 的某个子集中,并且可以确保每个线程在各个中断间隔之间使用相同的处理器,而不用在多个处理器之间切换同一个线程,同时提高了二级高速缓存上的高速缓存命中率;但是, 使用 CPU 关系设置时要当心,由于假如每个实例上的工作负荷不相等,不同 CPU 上的工作负荷就无法动态取得平稳;此时, 假设有源源不断的大量的数据拜访恳求线程和句柄,下降;3、磁盘布局CPU 的占用率就大幅上升,服务器性能就大幅基于可复原性的考虑,勿将日志文件和数据文件放在同一储备设备上;假设将日志文件 与数据文件放在相同的物理磁盘上,就不能分开日志文件上的次序磁盘读写和数据文件上的 随机磁
6、盘读写; 在大量反复的读写恳求下,由于过多次序磁盘读写和随机磁盘读写,使服务 器的物理磁盘储备器速度下降,服务器性能也就下降;4、数据量可以说, 数据库应用软件的瓶颈都在数据库,影响;数据量的大小对系统的运行速度有直接的在会计信息系统中,账套大小是衡量数据量大小的一个简洁有用的标准;同样的功能, 数据量越大其性能确定会有所下降;在系统实施预备阶段应对用户将来的业务有一个估量, 对用户数据量的估量可以作为配置服务器硬件的一个依据;数据量对数据库服务器的内存配置有直接的影响;5、并发数分布式处理的会计信息系统一般具有多层结构,能的一个主要因素;其中客户端层的并发数量是影响系统性客户端并发数对硬件配
7、置的影响最大;依据体会结论,假如同时并发客户端超过 20 个就应当别离中间层和数据库服务器,对于中间层服务器保持每20 个并发 1 个 CPU,对于数据库服务器保持每 10 个客户端一个 CPU;这些体会数字中的并发数量指同时不停使用的客户端的数量;并发量主要影响服务器 CPU 个数的配置;三、解决问题的方法和实现过程结合会计信息系统的功能和 SQL Server 服务器的特点,在支持多 SQL Server 服务实例的会计信息系统中,建立多 SQL Server 服务实例连接, 可以解决问题, 如金蝶 K3 的账套管理器,既可支持多 SQL Server 服务实例连接,也支持日志文件和数据文
8、件别离储备;一解决问题的方法1、在 SQL Server 服务器安装多个实例使用多个实例可以增加每台服务器上的数据库数量和工作负荷才能;当数据库的数量和相应的工作负荷到达肯定水平后,把多个SQL Server 实例中的数据库分组是一个好方法,由于这样可以缓解内存压力;为每个实例的服务器过程高速缓存安排更多内存可以获得良好的性能, 并能够供应更好的操作和安全隔离;测试说明, 使用多个实例可以增加数据库的总数以及系统上产生的相应工作负荷才能,同时仍能保护每个数据库的吞吐量;在多个实例上运行数据库可以留出更多的内存供过程高速缓存使用,由于每个实例具有自己的虚拟地址空间和过程高速缓存;当单个实例的数据
9、库数量增至数千后,这些数据库对象会占用太多供过程高速缓存使用的内存空间, 从而导致性能下降;过程高速缓存将被丢弃,然后进行重新编译;所以建议使用多个实例;2 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - 2、使用 CPU 关系可以提高服务器性能在一台具有多个处理器的服务器上运行多个实例时,通过设置 CPU 关系为特定实例分配派处理器,可以削减每个处理器的活动线程数,仍可以削减上下文切换次数,此时,最好使用二级高速缓存;此时 ,各实例上的工作负荷应当是相同的,相对于默认处理器关系设置,将 4 个实例分别安排给 4 个 CPU 时,
10、吞吐量将增加 80%;3、分隔日志文件使用的物理磁盘可以提高服务器性能将日志文件与数据文件放在不同的物理磁盘上,就可分开日志文件上的次序磁盘读写和数据文件上的随机磁盘读写;能提高 10%;4、COM+组件跟踪测试说明, 分隔物理磁盘上的日志文件和数据文件可以使性在系统集成度较高的会计信息系统中,往往使用 COM+组件来实现分布式处理,优化的组件调用是提高分布式系统一个好方法;利用 COM+本身的大事发布模型,监控 COM+组件的方法调用和运行结果信息 , 对 COM+组件服务器端的信息跟踪,查看哪个中间层组件调用时间长或内存消耗大,以确定性能问题或其他问题所在;二实现过程本人在金蝶 K/3 1
11、0.0 系统中实现了整个过程,并胜利摆脱了原有的服务性能状态,以下是实现的主要过程;1、安装多个 SQL Server 数据服务在已经安装单个数据服务实例的会计信息系统的数据服务器上重复安装 SQL Server 服务,每次安装要给每个实例一个不同的实例名称,个数据服务实例;安装胜利后在企业治理器中可清晰看到多2、在 K3 的账套治理中将账套指定给详细的实例 利用账套治理器的复原功能,将已经备份好的一个账套数据库的备份文件复原到指定的数据服务的实例中,关键在复原时要连接指定的数据服务实例;3、在 K3 的账套治理中将账套的数据文件与日志文件的储备路径别离 在账套治理器中,当建立账套或复原账套时
12、,把储备账套的数据文件和日志文件存放在不同的物理磁盘中;4、指定数据服务实例的处理器在会计信息系统的SQL Server 企业治理中, 选定已经安装好的数据服务实例,在其属性页的“ 处理器” 卡片中可以轻松指定执行每个数据服务的相应不同的CPU ,并可以设置是否提升 SQL Server 优先级;通过多个并行的处理器设置,提高服务器的性能;当然只有多处理器服务器中才能支持此项设置;5、优化组件服务调用,分析中间层的性能表现1使用组件服务治理工具可以配置和治理 COM 组件及 COM+ 应用程序,监视组件的使用情形;启动组件服务治理工具,检查 K3 中间层组件是否在运行,如以下图 3.1;假如客
13、户端用户比较多或者网络速度比较慢的情形下,中间层服务器有可能显现服务,从而引起性能问题; 可以通过组件服务的大事列表检查是否有比较多的大事在排队等待;界面如以下图 3.2;2查找正在执行的资源耗用多的组件假设中间层的 CPU 或内存耗用很严峻,但在多个客户的并发下又很难发觉是那一项操作引发了问题, 这时候可以查找哪一个组件包中的哪一个组件耗用资源比较严峻,协作在此阶段用户在做的操作,有助于发觉引发的问题;第一在任务治理器的进程选页签上查找耗用资源较多的 DLLHOST 进程,由于每一个中间层组件包在运行时有一个 DLLHOST 进程,每一个组件包又包含许多组件;找到耗用资源较多的 DLLHOS
14、T ,找对应的 PID 即进程标示3 名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - 号,依据 PID 在组件治理中可以找到对应的组件包,然后在对组件包下面查找调用时间长 的组件,依据此组件的信息和其他用户操作信息,可以定位到详细的问题;图 3.1 在运行的 COM+应用程序图 3.2 组件服务的大事列表检查3查找中间层服务的堵塞 对于中间层服务器有可能发生的堵塞,主要看上面所描述的组件服务器中事务列表中的组件排队情形,假如有较长的排队情形,就代表显现堵塞,由于每一个 COM+ 组件包有一 个进程,可以考虑把堵塞较多的组件别离出来
15、重新放到一个新建的包中;4 限制 STA模式 COM+组件线程数对于 VB 编写的 COM+ 组件,由于不能编译为MTA 线程模型,每个组件包进程的线程数默认为 10 个,也就是说同一个组件包中全部组件功能只能最多有十个同时运行;对此问题,微软供应了一个修改线程数量限制的方法,那就是修改注册表选项,可以让线程数到达100;四、结论本人在一台方正圆明3310 专用服务器实现以上的优化设置,设置了具有3 个物理磁盘4 名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - 的 RAID5磁盘阵列、 4 个 CPU 并行,安装了4 个数据服务实
16、例,并指定每个服务实例的CPU,960 个账套分布在 4 个不同的实例中运行,并胜利别离了数据文件和日志文件物理存 放,使用 1GB 的物理内存,并为每个实例配置最小内存并保持开放最大服务器内存;通过优化,服务器性能整体提升了 40%,4 个 CPU 占有率平稳而且稳固在 60%左右,内存开销 降低了 40%;总之,通过优化,到达了在既定的硬件条件下,胜利地提高了单个服务器的工作负荷能力的目的;作者简介:潘伟洪,硕士,主要讨论领域:应用数学与电脑软件开发;长期从事会计电算化教学;联系:,:广州市天河区科华街273 号 25 号信箱, 510640 Email :pwh8105tom 或 pwh810521cn 作者声明: 本文是本人教学的讨论成果,论文署名无争议,论文观点引用清晰,本稿从未公开发表,也没有一稿多投,否就,本人情愿承担一切后果;5 名师归纳总结 - - - - - - -第 5 页,共 5 页