我们有一台服务器,数据库是SQL Server2012,因为需要执行多个数据库作业,数据库中有几个表数据量比较大,网站流量这一年多了,网站经常出现拒绝服务的情况。我们现在想做读写分离,但是没有经验,也没思路。
请问有人能指导做一下SQL Server2012的读写分离指导吗?
如果一台服务器做不了,两台或者三台服务器也行,请指导下思路。
读写分离的一般实现是使用replication,在写端数据更新之后,同步到读端,至少需要两台服务器,创建publisher,distibutor和subscriber就行了
发布服务器和分发服务器是不是可以用一台服务器啊?
@荆棘人: 是的,所以,实现读写分离至少两台服务器
@悦光阴: 好的。
不可以.而且但电脑做读写分离完全没有任何意义.
至少要2台服务器.最简单的就是事务赋值.你说的分发.百度教程一大堆.弄2台服务器就好
多谢指导,根据你的指导,找到了几篇文章。
因为我们只读写分离5张表,所以还是在一台服务器上做,还不知道效果,正在改程序。
@荆棘人: 大叔都给你说这么清楚了.你还在纠结.读写分离/负载均衡.都是在一台电脑性能不够的时候用的.
你在同一台电脑上开2个数据库没有任何意义.因为他们占用的都是同一个硬件资源.是不可能对性能有提升的.
明知是无用功还做,还不如找专业的人整体给你们分析一下.
1、你读写分离了还用一台服务器,这一般只会更慢。
2、读写分离是需要修改软件代码的,你会修改吗?
3、你确定是数据的瓶颈?CPU计算资源还是内存还是硬盘?
4、大部分人都是代码写不好,就买台好点的服务器,你也可以先用这方法
比如现在的服务器2个CPU,24G内存,SAS硬盘RAID1
可以换成4CPU,128G内存,SAS硬盘RAID10或者SSD硬盘
5、方法很多,首先你得知道问题出在哪儿,而不是自己随便听人说句CQRS就当成宝贝,别人的宝贝你不一定养得起。
数据库确实慢,因为经常TimeOut.
数据量还是比较大的,条数3000万,而且字段比较多快30个了。
电脑支持的内存条数有限,装SSD硬盘比较麻烦不会弄。
个人感觉读写分离还是简单点。
1)我们决定只读写分离5张表,其他不读写分离。(公司穷,没有那么多服务器)
2)修改代码会的,我们读的sql就连接读库,写的时候就连接写库,两个连接字符春 mall_Write,mall_Read
3)内存还是够大的吧,16GB占用率百分之70,cpu占用率比较高百分之80,不太够用,但是暂时没钱买第二台。
4)水平有限,我们整体都是低端程序员,公司也没钱找高手,都是将就,我们水平差也得混啊,主要是脑力不好,没人指导,自己瞎摸索,牛人的书看不懂,肯不进去,也没有实验环境。
5)我们是知道什么方法就用什么方法,运维和程序都不是说很厉害,不知道怎么找瓶颈,也不会做专业解决方案啊。