我正在构build一个非常简单的Web应用程序,并且需要对我的服务器可以承受多less负载有一个粗略的了解。
当然,这取决于很多因素,但如果我们谈论的是一万或一万个用户,我只是需要一个粗略的想法,因为目前我不知道。
标准的LAMP设置,一个相当小的数据库和一个相当简单和快速的PHP。 每个非静态请求都需要大约20个简单的SQL查询。 没有负载时,这种请求的运行时间大约为50毫秒。 没有明确的caching。
当前托pipe在一个VPS w / 1GB RAM和未知的CPU。
有没有可能给出一个粗略的估计呢? 什么是瓶颈? CPU,RAM? 50 ms /请求意味着每秒20个请求吗? 有多lesscaching可以帮助(因子10?100?1000?)? 高速caching在哪里最有意义? 我如何执行负载testing?
呃,很多问题,没有期待详细的答复,但将非常感谢指向我可以从这里读到的系统要求/testing/可能的方法扩大的地方!
用户数量几乎无关紧要 – 重要的是点击次数和转换速度。 “相当小的数据库” – 这不是一个非常有用的指标。
当前托pipe
所以你已经把它安装好了,并且正在运行? 那么你的估算能力就远远不及我们了。 开始在你的apache日志中logging%D(如果你还没有这样做的话),并loggingmysql的慢速查询,阈值为0。
每个非静态请求都需要大约20个简单的SQL查询
ERK! 这是很多数据库往返。 考虑使用连接(甚至笛卡尔联接查询返回单行可以提供一个很大的性能提升)或服务器端caching?
50 ms /请求意味着每秒20个请求吗?
否 – 这可能意味着它可以在50ms内处理500个请求,也可能意味着它每50ms只能处理一个请求。
去读一些史蒂夫·苏德的东西。
你当前系统的限制因素可能是内存(你的整个数据库和网站的文件是否适合可用于caching的内存?我不怀疑)。
使用Apache Bench ( ab )。
这是一个随机的例子 , 另一个 例子 。