我的服务器是赛扬2.4的CPU,1G内存。只能在线100多玩家..就卡了。经常的排队死锁。
因为我的程序是经常的频繁的访问数据库,我相信是这方面的问题。通过做索引,优化查询等等,问题只能是缓解,没得到质的解决。今天我在QQ群里听到如下两句话对我有所启发。但不知具体如何实施:
-------
1.不过我们对数据库做了一次封装的,所有的操作都是在内存种操作的,只是每隔一段时间更新一次数据库!
2.频繁访问数据库 ,数据库服务器受不了,而且速度也很慢!
3.所有用户的数据 在登陆时候全部加载到内存,之后所有操作都是内存操作!对象化了~
--------
我现在是直接通过sqlServer修改查询的。但我不会实现。
比如asp.x上有pagelode方法,对象化之后,在load一遍,之前新new的对象不又的重新再new一遍吗?
因为我的程序是经常的频繁的访问数据库,我相信是这方面的问题。通过做索引,优化查询等等,问题只能是缓解,没得到质的解决。今天我在QQ群里听到如下两句话对我有所启发。但不知具体如何实施:
-------
1.不过我们对数据库做了一次封装的,所有的操作都是在内存种操作的,只是每隔一段时间更新一次数据库!
2.频繁访问数据库 ,数据库服务器受不了,而且速度也很慢!
3.所有用户的数据 在登陆时候全部加载到内存,之后所有操作都是内存操作!对象化了~
--------
我现在是直接通过sqlServer修改查询的。但我不会实现。
比如asp.x上有pagelode方法,对象化之后,在load一遍,之前新new的对象不又的重新再new一遍吗?
解决方案 »
- 添加自定义类的方法C#
- 选择题在线测试提示框如何写(c#)?
- 能够帮忙吗?
- c#程序中,如何实现:将数据库里的字段提取出来,去google上搜索,得到网页上“……相关项”,将这个“相关项个数”信息提出来,再存入数据库中
- 将服务器上的word文档在ie中打给用户,用户修改并可在线提交,如何做!?
- VS 2010 未能找到类型或命名空间名称“DataTable”(是否缺少 using 指令或程序集引
- 使用AcceptTcpClient是出现莫名的错误,初学菜鸟寻求解救
- 如何得到打印机的HDC
- c\s架构下操作数据库的问题
- VS2010 中添加一个.ico图标文件 怎么会这个图标文件进行编译呢?
- 帮忙看下哪错了
- 请教个DevExpress.GridControl导出EXCEL的问题.
就是并发更新时候更新同一行..或者更新的同时有人在访问
其实CPU的利用率也不是很高。就是一卡一卡的。而且sqlServer2000好像也没有什么隔离,快照级别之类的东东
难道是APlication之类的东东代替数据库?唉..
然后定时将缓存更新到数据库。
不知道更新缓存对于服务器的性能如何影响?
就是
HttpContext.Current.Cache.Insert("key", myValue);
更新直接就
httpContent.Current.Cache.Insert("key",newValue);
表尽量细分
缓冲更新,delphi里很容易做到,asp.net里怎么做还真不太清楚,可能要自己控制
事务要尽快结束,特别是不能挂着
硬件升级
分服务器
做成分布式,自动负载平衡好像也没别的了
http://blog.csdn.net/leehao_vip/archive/2008/10/08/3035017.aspx对于数据库的封装,要记得及时释放连接,否则连接池的连接数超过一定值时就会阻塞,关于连接池的详细信息,请看:http://blog.csdn.net/leehao_vip/archive/2008/10/08/3032555.aspx
我的机器配置如下:
处理器:
Inter(R) Core(TM)2 CPU 6300@ 1.86GHz
Inter(R) Core(TM)2 CPU 6300@ 1.86GHz
SCSI和RAID控制器
D347PRT SCSI Controller
内存:2G
硬盘:160G
------
不算差吧。 一般的网站能容纳多少个并发访问?