在本文中,作者解释了Aurora系统中的写请求机制与传统的Quorum系统之间的区别。Aurora系统的写请求并不直接更新数据,而是通过追加Log条目的方式来实现。具体而言,Aurora确保每条新的Log记录至少在4个存储服务器上出现后,才能提交事务。这也意味着在确认一个事务提交之前,Aurora需要等待WriteQuorum确认,即确保4个存储服务器成功写入事务的每一条Log记录。
在故障恢复过程中,Aurora必须等待之前所有事务恢复完成后才能继续。存储服务器接收的是描述datapage更新的Log条目,而实际存储在内存中的仍然是数据库服务器磁盘中的page。存储服务器会在内存中缓存旧版本的page和相关的Log条目,当收到读请求时,会将新数据更新到page中,并返回给数据库服务器。
与传统Quorum系统不同的是,Aurora系统中数据库服务器写入Log条目,但读取的是page。数据库服务器记录每个存储服务器接收的Log条目编号,以便在读操作时选择具有最新Log的存储服务器发送请求。这样一来,数据库服务器在执行读操作时可以避免触发QuorumRead,提高了系统的效率。
实时数据库“StrongDas”在内蒙“包钢”的应用1、系统概述包钢燃气厂是包钢各二级厂矿和民用煤气的主要处理和供应单位,工作地点分散,现有的高炉煤气净化站、轧钢加压站、薄板加压站、二炼钢加压站等十几个自动控制系统都是各自独立运行,无法实现数据共享和统一调度,严重地制约了生产自动化的发展。 因此我们根据燃气厂的需求,并考虑到将来网络拓展与维护的方便性,采用了一套实时数据库系统“StrongDas” 4.1来管理大量的实时生产数据。 2、网络结构整个系统的网络有两层,一层是由现场的自动控制操作站连接而成的工业控制网,另一层是燃气厂的调度室、各科室及车间连接而成的三级管理网络。 一级网络和三级网络之间由一台安装双网卡的数据采集接口机进行连接,数据采集接口机将一级的现场数据采集上来送到三级网的实时数据库服务器中,至此便为实现现场数据的共享提供了硬件条件。 3、系统构成实时数据库系统的硬件由两台服务器和三台数据采集接口机构成,其中一台数据库服务器和一台WEB服务器。 数据库服务器储存和处理采集接口机采集上来的所有实时数据及历史数据,数据采集接口机与工业控制网相连,采集所有煤气加压站的实时数据并送至实时数据库服务器。 实时数据库的软件部分由用于过程数据和历史数据的存储的数据库服务器软件StrongDAS 4.1、为系统提供网页发布的服务的WEB服务器软件StrongDAS Web4.1、采集接口软件及客户端配置软件组成。 4、数据采集的实施数据采集接口为大多数厂商的plc和dcs系统提供了数据采集接口,例如dde、opc、文件采集、串口采集等。 燃气厂的各个加压站plc和dcs主要由SIMENSE、横河、honeywell TDC3000、贝加莱几个系统组成。 对于SIMENSE、横河的设备通过opc接口与实时数据库实现通讯,利用StrongDasIOClient 4.1中的StrongIO_configure即可以对opc进行配置,软件包中的strongio_opc_read_cache既可从opc服务器缓冲区读取数据,strongio_opc_read_cache和opc服务器进行数据交互有2种不同方式,即同步方式和异步方式,本系统采用的时同步方式。 实时数据库系统连接的装置必须启动相应的opcSerever。 在StrongIO_configure中定义系统所将要读取装置的主机名称以及对方提供的opcServer名称(如WINCC 为)。 对于贝加莱设备采用网络dde(Dynamic Data Exchange)接口进行配置,启动远程的dde服务后,建立一个dde共享即ddeShare,设置这个共享为所有程序均可访问,然后在信任共享中设为允许启动程序和允许初始化应用程序。 在StrongIO_configure中配置dde时,将Application的名称设为\\computerName\\Ndde$,Topic设为在远程计算机上所建好的ddeShare的名称。 dde接口也是一种比较稳定的数据交换接口。 对于4#trt的TDC3000 控制系统,它本身没有提供标准的opc和dde的接口,所以采用串口通讯的方式利用StrongDasIOClient 4.1中的strongio_honeywell_us进行数据的采集。 具体实现的方式是在TDC3000系统中建立包括所有要采集的工位的打印报表,并将报表打印模式设为按一定的时间间隔打印,从打印机的串口接一根特制的串口通讯电缆与数据采集接口机相连。 在StrongIO_configure 中对采集项进行相应的配置即可完成对TDC3000的数据采集。 所有类型的采集接口均采用一个数据标签配置文件对需采集的工位信息进行配置并实现与数据库服务器中的数据表的对接。
IIS应用程序池假死、自动重启以及iis权限等解决办法 网络上有关iis的问题和相关解决方案,多不胜搜,但很多都比较零散,没有系统的解决方案;另外,有些解决方法,似是而非,不能找到其中的问题关键点,本人平时对于服务器的应用上也有点实践,因此,今天稍稍总结一点平时遇到地问题和解决方法,特别是对iis的特殊权限引起问题、iis应用程序池假死问题和比较罕见的iis重启命令和自动重启办法。 其它相关问题,继续关注本博。
一、2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。
1:没有打SP1补丁的时候会出现这个IIS6.0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。 (所以现在的IIS假死与这个关系不是很大)
2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS.5。 所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。 你鼠标右键启动网站又会自动恢复。 这个原因:大概是以下几个因数造成的。
(1):你限制了应用池的资源,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。
出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法操作服务器。
)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。
网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。
不操作就是不恢复,这个是很多人的误区。
(2):内存限制 在IIS6.0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。 那么网站访问量大了 也会出现假死,所以不建议设置这里。 默认就可。
3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。 那么只有等内存全部释放出来才能恢复应用池了。 出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。 比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。 很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法操作了,也无法自动恢复。
4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库,升级至sqlserver数据库;或者在技术方面革新,像现在有些网站系统,风讯、动易等cms;pjblog、zblog等博客程序,都支持生成静态功能.
5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面(1)讲到的,这样就不影响其他站点。 中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。 这样他们就算超资源了也不影响其他应用池的网站。
6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。 所以建议设置共1000就行了。 其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。
7:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 6点设置吧。 不要设置什么20分、30分这样的,这样不好的。 另外一个原因就是和站的响应设置时间有关,设置得稍长些。
8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;
查看iis的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;
用事件查看器查看系统错误日志,发现如下提示:
-----------------------------------
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。
可以使用组件服务管理工具修改此安全权限。
解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:
点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,
选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。
9:重启IIS中的特定应用程序池命令和自动重启的方法
在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池:
c:\windows\system32\ /a DefaultAppPool
其中/a 代表alternatively,DefaultAppPool代表应用程序池的实例名。
如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。
很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。
当然,关掉,是会减少一些安全隐患,这是不错。
查看系统日志看看关闭的原因, 然后在系统服务控制台里把IIS出错时设置成不关闭,不行就重装IIS服务看看,还是不行就修复系统,再不行就是最糟糕的办法 重装系统了
本文地址: https://yihaiquanyi.com/article/24c41b4c9828ef3fa321.html
上一篇:上海服务器公司推荐及购买指南上海服务器公...