注意:我是一个自学的PHP开发人员,几乎没有管理web和数据库服务器的经验。
我即将为一个非常大的用户群编写一个基于网络的考勤系统。我预计大约1000到1500名用户同时登录,同时每10秒至少提出一次请求,每天30分钟,每周3次。所以每秒大约有100个请求,或者在最糟糕的情况下每秒1000个请求(平均16个并发请求?)但是,考虑到用户提出这些请求的时间框架很短,这可能会更高。交叉手指以避免100个并发请求)。
我期望两种类型的事务,一个local (不指local网络)和一个foreign事务。local事务基本上是在本地下载用户数据并将其缓存1-2周。考勤表可能只有两个数字字符串:userid和eventid。foreign事务用于那些不属于当前本地的事务。这将传递以下数据:(numeric) locality_id、(string) full_name。这两个请求都是用Ajax完成的,因此不包含HTML数据,只包含JSON。这两种类型的请求都期望服务器至少有一个数字响应。我认为在local和foreign事务的频率上会出现50到50的分裂,但是这些事务的大小只有几个字节的差异。
到目前为止,userid只可能达到6位数,而eventid也是4到5位整数。我期望我的users表至少有400 k行,event表有多达10k行,一个至少有1500行的locality表,以及我的主考勤表每天增加400 k行(根据users表中的用户数),每周3天(每周120万行)。
对我来说,这听起来很重要。但这真的有那么大吗?或者,这可以由单个服务器来处理(还不能确定服务器规范,因为我可能会使用来自ServInt或其他服务器的VPS )。我试着在多个服务器设置( Heatbeat、DRBD、主从设置)上进行读取.但我不知道它们是否真的有必要。users表将每周增加大约500行1k行。
如果这不能由单个服务器来处理,那么如果我要选择一个MySQL复制拓扑,那么在这种情况下最好的设置是什么?对不起,如果我听起来含糊不清或者问题太宽泛了。我只是不知道现在该问什么或者你想知道什么。
发布于 2012-08-29 15:29:44
我会从一些oracle/mysql白皮书开始。当涉及到基准测试时,它们通常会非常深入,从这个搜索开始,您可以快速了解mysql服务器的功能以及与这种性能前三个结果都是好的开场白相关的硬件。
发布于 2015-01-16 20:37:58
https://serverfault.com/questions/411804
复制相似问题