锁定老帖子 主题:投票系统性能问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-08
第一次见这么多概念:
1、内存数据库 2、对象池 3、内存对象 有这方面应用的实例嘛,请使用过这些大侠们先谈点机制,再从实际的使用角度上说说性能提升的效果。 |
|
返回顶楼 | |
发表时间:2008-12-08
投票也能有这么多人参加?那论坛不早就死光了……-_-,每发一个贴至少有一个insert和一个update吧
我的态度是先做吧,用最简单的办法实现了先 |
|
返回顶楼 | |
发表时间:2008-12-08
除非业务写的不行,一个WEB应用第一个门槛就是你的中间件HTTP工作线程。同时能跑的最多也就那么几十个吧,超过了就等待进队列了。
|
|
返回顶楼 | |
发表时间:2008-12-08
嘿嘿, 我给你出个主意吧。 其实也不是很难的东西。 一个投票而已。
1。 当前的数据库能力, 处理能力几千个不是很难的事情。 你需要充分相信目前的数据库处理能力, 以及目前的计算机的处理能力。 2。 如果你觉得怕性能处理能力有问题。 我告诉你一个简单的办法。 做一个内部的计数器。 另外起一个线程专门用处写数据库, 可以每隔几秒把内部的技术器写入数据库。当然计数器没有改变, 那就不需要写数据库了。 这样, 就能非常高的效率。以及很低负载的数据库压力。如果不是大规模的网站, 我觉得你不需要担心性能问题。 我们的数据库每秒执行几万次SQL操作呢, DBA也没有说性能有问题。我觉得一个程序员要对计算机的处理能力了然于心。 这样才能把握性能。 |
|
返回顶楼 | |
发表时间:2008-12-08
最后修改:2008-12-08
呵呵,楼上sdh5724的办法还行.
刚才哪楼我忘了.他提出的办法也很不错,简单说就是结果统计与插数据分开做; 在数据提交上来后,在插入数据库前先修改统计数据,再排入插数据队列,如果负载量实在是大,还可以将插入工作分给其它数据库服务集群来做.这样数据不会丢,并且基本上不需要用select做数据库查询.减少很大开销. 还有就是数据同步问题,如果你的投票吸引全国人民都怀着极大热情关注的话,你不妨学我们项目中的办法,建立分布式数据会商机制.呵呵.如果压力一般,估计一台服务器应该很有余地. |
|
返回顶楼 | |
发表时间:2008-12-09
这个投票频繁insert数据库的问题我前几周刚碰到过,郁闷了几天,数据量并不大的情况下投票竟然延迟比较厉害。
后来发现是InnoDB 存储引擎的问题,后来新建了表,换用Myisam存储引擎一切都解决了,另外表最好不要做索引,会影响写操作性能的。 这个问题可能是mysql的bug ,我的是mysql5.0.37, Redhat as4 如果数据量实在太大,那就做缓存,10分钟更新一次数据 |
|
返回顶楼 | |
发表时间:2008-12-10
能有多少人去投票? 并发是多少?
真的很怀疑这个系统到底有没有这么大的访问量 正如ray_linn说的 lz自己虚构出的困难 |
|
返回顶楼 | |
发表时间:2009-09-19
如果有100人同时在线参与投票 数据量算不算大?
|
|
返回顶楼 | |