Rover 发表于 2008-4-11 15:29:43

初步判定是数据库的问题,优化你的数据库,配好数据库连接池,将多个数据库复制分发到多个服务器上,然后同步,然后web程序随机访问数据库,或者根据用户ID做一个hash函数,然后分配一定区间的用户访问其中一台服务器

zshtom 发表于 2008-5-12 21:44:52

2万人 不一定就是2万并发首先 优化服务器 尽量 数据库和web 服务分离支持采用 nginx + fastcgi方式 这样的方式 比apache要快很多 php 开启apc 或者xcache 之类的 加速模块 系统内核的一些并发控制参数 也要修改一下进行优化前端图片都 设置过期时间 避免 每次都下载 多用memcached 如果能保证 服务器的供电和稳定的话 要尽量少数据库查询 多memcached 查询其实这样的应用如果跑一个数据库 记录应该不是很多 就几十万条 优化一下查询你可以试着将所有记录都放在memcached 中试试 因为 你的数据不是很多 一次选课 2万人 一人选10门 才20万开个2g 内存的memcached 能解决很多问题不过 要保证数据库也有一份 否则一旦断电 就挂了 基本上就这样至于什么分库啊 我觉得不用如果有条件 主从库 就可以了 必要时候可以 一主三从查询使用轮询的方式 都插入一个主库 从三个从库查询基本上搞的定

[ 本帖最后由 zshtom 于 2008-5-12 21:48 编辑 ]

youreyes 发表于 2008-5-13 16:08:10

用内存表怎么样?

yeyunan 发表于 2008-5-21 01:37:23

:Q 救命啊....看不懂...

doutu 发表于 2008-5-25 00:45:56

如果不是硬件问题的话,就是代码写的太懒了,2w人的选课系统高峰期顶多有2,3千一起操作。数据库是什麽来头的?access?
选课系统三部曲,登陆,查询,选课,可能查询会耗点性能,登陆和选课是精确select和update,几乎没费啥劲。重新设计实现的话,考虑数据库设计要合理,建立好索引会事半功倍。数据库设计垃圾的话,程序再怎么优化,性能都不会很好,当然二者都做好了,还当掉的话,那是用普通低档的pc做的服务器么?!

cocely 发表于 2008-7-1 19:02:05

ajax能很好应对这种问题!

action2001 发表于 2008-9-9 13:39:51

看不懂啊... 神..............

kissmumu 发表于 2008-9-12 15:15:02

cache?……关注中……

kfrico 发表于 2008-9-23 01:50:08

應該可以分年級分時間選課吧
像我們學校如果有兩萬人大概就分四個階段選課
各個年級的課應該不會衝突到
這樣一來就可以分擔很多
不過以我們學校的制度在預選上是以時間和志願為依據
所以通常只要時間一開放幾乎是全部能選的人都上去選了

12999659 发表于 2008-10-9 16:19:18

并发2W 这个基本上不可能的...


哈哈..
页: 1 2 [3] 4 5 6 7
查看完整版本: 正在做个系统,希望大家给些建议