我已经在Mongrel服务器上启动并运行了一个Mongrel2.1Web应用程序,现在我想计算该RoR应用程序的平均并发用户数和峰值并发用户数。
有没有明确的方法来解决这个问题,或者我应该使用什么分析来计算这个问题?
我的应用程序的后端是MySQL,我尝试在Mysql状态中查找Threads_connected和Threads_created的值。此值返回当前打开的连接数和为处理连接而创建的线程数。
这些值是否直接意味着当前连接的用户数?如果不是,请建议计算这些值的方法。
发布于 2011-12-21 20:15:18
MySQL统计信息反映了连接到数据库的进程数,因此如果您有10个mongrels,您可能会看到10个进程(加上您连接到数据库的任何进程(脚本、守护进程、控制台会话等))。这不会改变是否有100个用户在使用该站点(除非您有扩展进程数量的东西)
就用户数量而言,谷歌分析可以给出这类事情的一个很好的想法,或者分析你自己的日志文件,这取决于你需要的复杂程度。
如果最终目标是找出您需要的服务器资源,那么像newrelic或联合中心这样的服务是很好的。
发布于 2011-12-21 20:01:19
你只能拥有和你的混合进程一样多的并发用户,因为Rails是单线程的,除非你在配置你的应用时调用threadsafe (但你永远不应该这样做,除非你真的理解这样做的含义)。
https://stackoverflow.com/questions/8588443
复制相似问题