这个一些个人的总结,加上一些前辈的经验, 下面的优化总的来讲,在我使用的一年多中,还是相当有用的,优化和不优化还是比较明显的. 下面开始正题 目标 调优 Apache 之类服务器要达到的目标是什么?什么来量化这个调的指标。答案就是 QPS. QPS = req/sec = 请求数/秒 就是每秒能处理多少请求数。我们平时老讲并发,并发不但指保持的连接数,还有处理了多少请求。所以这个是很关键的。 这个还会影响到什么啦,就是 PV ,基本上可以简单换算,每天总PV = QPS * 3600 * 8 ,就是算一天 8 个小时的样子。 峰值QPS 每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间,如果有比较好的监控和信息收集系统。最好能用信息收集系统来处理和收集这些信息,然后量化来处理。 实际峰值流量为一天中流量最高的 5 分钟的流量 请求量的峰值为一天中请求量最高的 5 分钟的请求数。 可以这样来计算下面的内容,不过我们还是简单的使用 8/2 的分法来决定吧。 公式: ( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 机器: 峰值时间每秒QPS / 单台机器的QPS = 需要的机器 ExtendedStatus On 因为写入额外的时间标志,设off。 MPM:worker-多进程多线程新型设计,适合高流量服务,但是不稳定,对象php之类支持非常差,不推荐, prefork-稳定,无线程,占用较多内存。 HostnameLookups off 关掉,这样少一dns查询,日志处理可以另外用软件。 注释LoadMoule指令中不要的模块。 一般说来,不需要的模块包括: LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so (责任编辑:admin) |