首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

连接都会消耗服务器上的资源,大招开启临时断开SQL连接

你学到的访问远程数据的首要原则之一,是限制连接的数量。每个到后台数据库的连接都会消耗服务器上的资源,而并发连接的数量又可能受到授权协议的限制。另一方面,接连的关闭和重新打开连接要求额外的代码和时间花费。 VFP 引入了两个改动来帮助最小化你所需要的连接的数量。SQLCONNECT()可以使用一个已有的共享连接,同时你可以通过指定一个状态句柄(statement handle)代替 cConnectionName 参数,来使用一个已有的共享连接去打开一个远程视图。在我们的应用程序中,我们通常使用单个基于用户登录信息的共享连接,并在该应用程序的生命周期内使用该连接。

01

DRBD 管理、故障处理部分

1、DRBD开机自自动(chkconfig --add drbd),需要注意一下wait time out选项:       wfc-timeout 120;  如果为0的话,它会无限的等待下去;       在配置高可用如keepalived时候,要注意 先保证drbd数据的一致性;然后在启动keepalived       小插曲:       在linux 自起中,先运行 /etc/rc.d/rc#. d  里面设定的脚本,最后是/etc/rc.local ,如果同样是在某运行级别下的脚本,根据S后面的数字,数字越小优先级越高,所以drbd的数字要比keepalived的小一些;   2、磁盘IO故障       推荐配置为 detach 策略;这个时候主从角色状态没有改变,磁盘状态变为diskless(这个需要监控);       模拟实验:       drbd-primary:       drbdadm detach all;       此时磁盘还处于挂接状态;为了正常切换角色,执行以下命令:       drbdadm secondary all;       umount /dev/drbd0;       在drbd-secondary 上执行:       drbdadm primary all;       mount /dev/drbd0 /data   3、更换磁盘     如果secondary节点出现磁盘故障需要换硬盘:     注意:新添加的硬盘的磁盘名如果被占用,需要修改配置文件!     进行的操作:     drbdadm create-md  all     service drbd start     drbdadm attach all     drbdadm secondary all     以上情况 属于内部元数据, 下面可以看看使用外部元数据更换硬盘;     除以上操作外,还有进行 drbdadm invalidate  all     即进行以下操作:     drbdadm create-md all     drbdadm attach all     drbdadm invalidate  all     drbdadm secondary all   4、处理节点故障:     当primary node 出现故障后,Drbd并不升级存活的节点到主,需要集群管理程序重要做。     切换完毕后需要做 的事情:       1)将出现故障的硬件替换为与之类似性能和容量的磁盘。(性能最好一致;替换为磁盘容量比较小,会导致drbd拒绝连接被替换的节点。)       2)安装基本系统和应用程序。       3)安装drbd并从幸存的节点上拷贝/etc/drbd.conf和所有的/etc/drbd.d       4)drbdadm create-md resource (创建元数据设备)       5)service  drbd start       6)drbdadm attach resource (将drbd资源和后端设备连接 )       7)drbdadm syncer resource  (设置drbd资源的同步参数)       8)drbdadm connect resource  (连接对等节点)       Look:千万不要初始化设备,   5、脑裂问题处理 DRBD检测到primary 恢复连接并变成可用,和对等节点达成初步的握手。如果drbd检测到两个节点(也可能是两个节点断开时)都是主角色,它就连接关闭复制的连接。可以在系统日    志中发现:Split-Brain detected, dropping connection!       一个节点将保持始终以StandAlone状态连接资源,另外一个节点也可能处于StandAlone状态(如果两个节点被探测到同时处于裂脑状态),也可能是WFConnection状态(如果对等接在    还没有来得及探测到裂脑就down掉的话)。       必须手工干预选择丢失一个节点的修改被丢失(这个节点被称为裂脑受害者),除非配置drbd的裂脑自动修复。       (在出现脑裂的情况下,service drbd stop 是不会生效的,返回会hang住,一直处于等待状态)       在需要放弃修改的那一端做如下操作:       drbdadm secondary <resource>       drbdadm -- --discard-my-data connect <resource>       在其他节点上(裂脑幸存者),如果它的状态也为StandAlone状态,可输入以下命令:       drb

01
领券