一网友在我的一个博文里留言的,我单独拿出来整理了一下
问题如下:
我们的数据库在用户不断增长的过程中产生了瓶颈,数据库并发操作频率很高,有几个表数据量很大,到十几万条记录了,而且这几个表操作频率很高,所以在线人数到两千左右就会产生死锁现象。
数据库成了瓶颈!我们用的也是ms sql server2000,我看了下数据库群集方面的内容,但是网上都说SQL SERVER群集不支持负载均衡,只支持故障转移。
但是我们没有实际经验。
希望对sql server群集和数据库负载均衡方面的知识给些建议或者写些文章。谢谢!
对了我们是做棋牌游戏的,所以数据库是游戏大厅和网站共同使用的。
我的个人观点:
在线人数到两千左右?哥们,你怎么统计的在线人数?并发用户和在线人数没有必然的联系。你不会每隔10秒钟就ping一次,确认在线吧,呵呵。
如果数据真的只有10万,你应该看看经常用到的数据有多少?那些数据应该被缓冲才对。
不要每次读取数据都访问数据库,那个是很慢的。以前见过几个游戏的程序,是把所有基础数据都读取到内存(人员,装备等),这些数据使用太频繁了,读到内存直接用,效率绝对高。 另一方面,数据会定时刷新到数据库,我记得好像是1小时才刷一次。
不过,我依然认为
1 你的程序编写有问题
2 你的查询语句写的有问题
3 你的索引设置有问题
4 你的数据库结构有问题,肯定可以优化
5 你的机器太烂了。
好好看看哪个引起了性能问题,进行语句,算法,数据结构的优化吧。
分享到:
相关推荐
SQLserver代理已经启动了,服务里的SQLServerAgent响应服务也已经开启了 但是启动作业的时候还是提示“错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示。” 有高人遇到过这个问题吗? 怎么...
快捷方便,可查看sqlserver数据库每个表的使用情况,一次下载终身使用,此文件为sql语句格式,免费试用
sqlserver中判断表或临时表是否存在
SQL Server中存储过程比直接运行SQL语句慢的原因
主要介绍了SQLServer中用于快速恢复表,而不是库,但是切记,防范总比亡羊补牢好,需要的朋友可以参考下
Sql server 运行远程连接 配置 图解详细说明 Sql server 运行远程连接 配置 图解详细说明
用SQL语句查看SQL Server中的数据库查看所有表大小,所占空间
SqlServer查看表结构,已通过验证
监控 SQL Server 的运行状况
用一条SqlServer语句即可删除当前数据库中所有表的数据,表的结构保持不变。
SQL SERVER 多表联接查询SQL SERVER 多表联接查询SQL SERVER 多表联接查询
解决Sqlserver2008(sql2008),修改数据表无法保存的问题
使用sqlserver2008批量创建表,表名做为参数传入,批量向各个表中插入数据
查询sqlserver下的所有表 查询sqlserver下的所有表
sqlServer数据库大表分区方案,新建表的时候。。如何表分区。
用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构
适用 SQL Server Native Client 的这个可转散发安装程序会安装运行时间期间需要的客户端组件,以利用 SQL Server 2008 新功能,并选择性地安装开发使用 SQL Server Native Client API 之应用程序时所需要的头文件。
可以导出SQLSERVER表及字段说明.
10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件...
win7 Sqlserver2000 不能新建表的解决办法! 图文并茂,一看就懂! 100% 解决问题!