吵吵   2013-04-02  阅读:2,448

近段时间以来,医院的LIS系统频频出现问题。上周一和周二上午都出现过排样系统无法存入排样标本的问题,远程了服务器两次都发现每次都有比较多的阻塞进程,反反复复的强行结束了,又开始产生,不胜其烦。在实在无法忍受的情况下,观察了两天的服务器运行状态,发现其实LIS系统在我们医院来说,遇到的性能瓶颈还不是一点点的大。最近还要考虑应用于整个全院实验室的问题,这必然会造成更大的服务器压力,至于能否扛得住,那就另说了。


LIS系统现状

我们医院的lis系统使用的是去年新买的一台双cpu八核的IBM服务器,配备的内存是32G。

使用的检验系统是用power builder写的一系列程序,近年来随着需求的不同日益改进,已经包括了拍样、审核、质控、报告等多个功能模块的衍生,这个系统使用的窗口就达五六十个了。

相关的直接使用lis数据库的程序也是一系列使用power builder写的程序,包括lis仪器设备接口程序,护士站采集系统,医生检验开单系统,自助报告查询系统,危机值报告系统等。

近年来随着血常规五分类图片和生化电泳图片的直接数据库存储,数据库的查询已经变得越来越慢。

服务器运行状态

服务器使用的windows server 2008 r2系统,使用的数据库是sql server 2008,24小时不间断运行。

使用的网线是一根从一级路由直接接过来的专用网线,没有经过任何的交换机和二级路由。

数据库半年进行一次归档分库,2012年下半年的数据总量大概是35G。

这半年以来数据库除了每日凌晨备份时期会造成部分程序缓慢外,基本运行正常,但是运行正常的的前提是做了不少查询和写入限制,如只限制自助查询调取半个月的化验单等。

服务器平均使用的cpu大概是20%,使用的物理内存平均达到30G,如下图:

server2008

LIS服务器的性能瓶颈

与其说这是LIS服务器的性能瓶颈,倒不如说这是sql server 的性能瓶颈。

从数据库的结构来看,设计的并不是很合理,一个病人标本的表达77个字段,而且反复的查询和更改写入,有呈一头独大之势。从最近消耗大量资源来看,查询的都是这张表,如下图:

lis

内存已经插满了所有的插槽,从存储介质上来看内存的读写速度最快,对于一个医院来讲,成本也不是很高,但是32G的内存似乎还不够,因为目前来讲都是满负荷运行了。

但是当我们从IO性能上分析,我们却发现原来真正的IO瓶颈却出现在网卡上,第二就是LOGGING,即连接认证上了,如下图:

lis

再回头去看看我们的连接数,发现达到1200了,这样一个并发连接数已经相当可观了,难怪瓶颈会在网卡上。

总结

1、在一个10M的局域网内网,多分配一张网卡和ip来突破服务器的IO瓶颈很重要。

2、随着数据量的扩大和服务的需求,sql server的性能调优并不是根本的路劲,不然,你难道想哪天使用一个几百万的NB服务器么?

3、云计算引入医疗行业是迟早的事情,也是势在必行的事情。以低成本的分布式计算存储代替现有个单个服务器高成本的存储是一个趋势。

4、我期待云计算进入的一天,如果有人愿意合作,我愿意与其一起努力。

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

5条回应:“LIS系统的IO瓶颈”

  1. 无锡打标机说道:

    挺有意思,喜欢 呵呵

  2. 精辟,字字分析的透彻

  3. 友杰博客说道:

    博文很精彩,希望朋友的回访,友杰博客分享网络经验、网赚笔记、生活随笔和书籍软件

  4. ericdai说道:

    怎么联系你啦呢?我的qq 1310761649

  5. luxiao说道:

    LIS系统出现这种问题,只能说明系统设计的太烂了。没有第二个理由。

发表评论

电子邮件地址不会被公开。 必填项已用*标注