首页 新闻 会员 周边

一台服务器如何做MS SQL Server2012的读写分离?

0
悬赏园豆:20 [已解决问题] 解决于 2017-06-13 11:23

我们有一台服务器,数据库是SQL Server2012,因为需要执行多个数据库作业,数据库中有几个表数据量比较大,网站流量这一年多了,网站经常出现拒绝服务的情况。我们现在想做读写分离,但是没有经验,也没思路。

请问有人能指导做一下SQL Server2012的读写分离指导吗?

如果一台服务器做不了,两台或者三台服务器也行,请指导下思路。

荆棘人的主页 荆棘人 | 菜鸟二级 | 园豆:410
提问于:2016-08-26 21:37
< >
分享
最佳答案
0

读写分离的一般实现是使用replication,在写端数据更新之后,同步到读端,至少需要两台服务器,创建publisher,distibutor和subscriber就行了

收获园豆:20
悦光阴 | 老鸟四级 |园豆:2251 | 2016-08-26 21:40

发布服务器和分发服务器是不是可以用一台服务器啊?

荆棘人 | 园豆:410 (菜鸟二级) | 2016-08-26 21:53

@荆棘人: 是的,所以,实现读写分离至少两台服务器

悦光阴 | 园豆:2251 (老鸟四级) | 2016-08-27 06:48

@悦光阴: 好的。

荆棘人 | 园豆:410 (菜鸟二级) | 2016-08-27 21:42
其他回答(2)
0

不可以.而且但电脑做读写分离完全没有任何意义.

至少要2台服务器.最简单的就是事务赋值.你说的分发.百度教程一大堆.弄2台服务器就好

吴瑞祥 | 园豆:29449 (高人七级) | 2016-08-26 22:53

多谢指导,根据你的指导,找到了几篇文章。

因为我们只读写分离5张表,所以还是在一台服务器上做,还不知道效果,正在改程序。

支持(0) 反对(0) 荆棘人 | 园豆:410 (菜鸟二级) | 2016-09-01 11:10

@荆棘人: 大叔都给你说这么清楚了.你还在纠结.读写分离/负载均衡.都是在一台电脑性能不够的时候用的.

你在同一台电脑上开2个数据库没有任何意义.因为他们占用的都是同一个硬件资源.是不可能对性能有提升的.

明知是无用功还做,还不如找专业的人整体给你们分析一下.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2016-09-01 11:36
0

1、你读写分离了还用一台服务器,这一般只会更慢。

2、读写分离是需要修改软件代码的,你会修改吗?

3、你确定是数据的瓶颈?CPU计算资源还是内存还是硬盘?

4、大部分人都是代码写不好,就买台好点的服务器,你也可以先用这方法

比如现在的服务器2个CPU,24G内存,SAS硬盘RAID1

可以换成4CPU,128G内存,SAS硬盘RAID10或者SSD硬盘

5、方法很多,首先你得知道问题出在哪儿,而不是自己随便听人说句CQRS就当成宝贝,别人的宝贝你不一定养得起。

爱编程的大叔 | 园豆:30839 (高人七级) | 2016-08-27 09:15

数据库确实慢,因为经常TimeOut.

数据量还是比较大的,条数3000万,而且字段比较多快30个了。

电脑支持的内存条数有限,装SSD硬盘比较麻烦不会弄。

个人感觉读写分离还是简单点。

支持(0) 反对(0) 荆棘人 | 园豆:410 (菜鸟二级) | 2016-08-27 21:44

1)我们决定只读写分离5张表,其他不读写分离。(公司穷,没有那么多服务器)

2)修改代码会的,我们读的sql就连接读库,写的时候就连接写库,两个连接字符春 mall_Write,mall_Read

3)内存还是够大的吧,16GB占用率百分之70,cpu占用率比较高百分之80,不太够用,但是暂时没钱买第二台。

4)水平有限,我们整体都是低端程序员,公司也没钱找高手,都是将就,我们水平差也得混啊,主要是脑力不好,没人指导,自己瞎摸索,牛人的书看不懂,肯不进去,也没有实验环境。

5)我们是知道什么方法就用什么方法,运维和程序都不是说很厉害,不知道怎么找瓶颈,也不会做专业解决方案啊。

支持(0) 反对(0) 荆棘人 | 园豆:410 (菜鸟二级) | 2016-09-01 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册