Php 如何粗略估计灯具的应用能力?
我有一个LAMP应用程序运行良好,但是用户数量每天都在增加。我不想有一天早上突然发现所有东西都因为超载而坏了。有没有办法粗略估计一下灯的容量 我知道完整详细的报告是许多值得研究的书籍,但我可以做一些快速的试金石测试,看看事情是否进展顺利 那么,对于mysql组件,我如何判断它能承受多大的负载呢?是30%容量还是50%容量?等等 我的apache也一样。虽然我有一种感觉DB会在apache之前死去Php 如何粗略估计灯具的应用能力?,php,mysql,linux,performance,lamp,Php,Mysql,Linux,Performance,Lamp,我有一个LAMP应用程序运行良好,但是用户数量每天都在增加。我不想有一天早上突然发现所有东西都因为超载而坏了。有没有办法粗略估计一下灯的容量 我知道完整详细的报告是许多值得研究的书籍,但我可以做一些快速的试金石测试,看看事情是否进展顺利 那么,对于mysql组件,我如何判断它能承受多大的负载呢?是30%容量还是50%容量?等等 我的apache也一样。虽然我有一种感觉DB会在apache之前死去 也许我的原创不太好,因为英语不是我的母语。我真正想问的是一种测量电流负载的方法。然后有一种方法可以
也许我的原创不太好,因为英语不是我的母语。我真正想问的是一种测量电流负载的方法。然后有一种方法可以根据这个负载来估计,在它失败之前我还能走多远。(对于每个组件,mysqld和httpd,这应该分别进行)对于当前负载,您可以做一些事情。最昂贵但最详细的答案将通过企业应用程序(如“Gomez”)提供 但是,如果您想自己做这件事,请参阅下面我前面的答案,或者使用shell实用程序,例如:htop、top、w和uslike Apache server status 问题修订前的回答: 您所要求的有时称为应用程序评测 您需要创建一个大致的内存公式,如: httpd ram+php内存使用率+mysql进程使用率=总请求内存占用率 您还需要一个CPU公式,但您也可以在负载测试期间查看top Apache有命令“ab” “ab是一种用于对Apache超文本传输协议(HTTP)服务器进行基准测试的工具。它旨在让您对当前Apache安装的性能有一个印象。这尤其向您展示了Apache安装每秒能够处理多少请求。” 下面是一个通用的“ab”基准测试命令行:
ab -n 10 -c 1 http://www.yoursite.com/
# qty 10 total requests, 1 request at a time
策略是从web页面请求到完成测试应用程序上的每个进程(用户)负载。如果您可以确定Apache、PHP和MySQL在每个请求中使用了多少ram,那么您就可以快速确定您的系统容量
您可能需要混合使用各种诊断工具,如vmstat或top或iostat或ps等,以获取系统对大量请求的快照
最后,您需要安装Xdebug。此工具将帮助您分析应用程序的php端。
以下是IBM关于安装Xdebug的教程:
如果你的网站需要cookies等,ab有点烦人,ab太简单了 基本上,根据我修复几个崩溃的PHP网站的经验,它通常是这样的: 1) 人们使用MySQL 如果您知道以下问题,您完全可以使用MySQL、facebook和flickr做到这一点(MySQL粉丝们喜欢这些):
- 如果您有一个非只读MyISAM表,并且任何查询长度超过100 us(甚至选择),那么您就死定了
- 每秒10次来自地狱的搜索查询(他在非法的warez网站上有大约30万名成员)
- 来自地狱的搜索查询大约需要0.1-0.2秒
- 对同一个MyISAM表进行少量并发更新,以增加趣味性
- 由于锁定,MyISAM不可用于读写表
- MyISAM和ramdisk一样可靠(事实上,更少:你需要一个操作系统崩溃来破坏ramdisk,破坏MyISAM表只需要一个MySQL崩溃,或者只是同时点击它太多,你会得到“未知表引擎错误”,我见过很多次)
- InnoDB上没有全文
- 在全文索引中的任何插入都会触发几乎完整的索引重建(当我插入 论坛帖子(它正在重建400 MB的索引)