- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
It网站优化记录.doc
It网站优化配置及压力测试工作记录
问题描述
It网站一直工作正常,直到上网实名认证系统认证成功自动弹出it网站后,就经常出现服务死掉或操作系统死机的现象。
It网站的架构情况
采用Linux(32位)+apache+mysql+php的技术架构。
问题分析
该网站部署在云平台,经过压力测试及日志分析,初步确定问题来自apache、mysql的配置或操作系统本身。
优化步骤
克隆一台it网站虚拟机为11,对其进行简单的压力测试,发现加压到1000用户就出现apache崩溃造成死机的现象。
由于当前的linux版本是32位的,内存只能识别到3G,故考虑重新部署一台64位的linux。并进行Linux+apache+mysql+php环境的安装。该环境中各软件采用二进制编译的方式安装,除了mysql要求64位的安装包,其他可以无视。
64位linux+apache+mysql+php环境安装好后,进行it网站程序及数据的迁移。迁移过程需注意数据编码方式的问题,采用utf-8。细节不阐述。
Apache调优配置
Apache 2.X支持插入式并行处理模块,称为多路处理模块(MPM),常用的MPM方式应该就只有3个:worker|prefork|perchild。
1) 首先开启apache的MPM支持,在在/usr/local/apache2/conf/httpd.conf中加载MPM配置(去掉前面的注释):# Server-pool management (MPM specific)Include etc/apache22/extra/httpd-mpm.conf
2) 然后,确认当前的httpd的工作模式,执行apachectl -l 来查看:
Compiled in modules: core.c prefork.c http_core.c mod_so.c
看到prefork 字眼,因此可见当前httpd应该是工作在prefork模式,prefork模式的默认配置是:IfModule mpm_prefork_module StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0/IfModule
配置apache的最大并发连接数(/usr/local/apache2/conf/extra/httpd-mpm.conf)
连接数理论上当然是支持越大越好,但要在服务器的能力范围内,这跟服务器的CPU、内存、带宽等都有关系。 Apache并发数的估算如下:apache_max_process_with_good_perfermance (total_hardware_memory / apache_memory_per_process ) * 2apache_max_process = apache_max_process_with_good_perfermance * 1.5
例子:一个apache + mod_php的服务器:一个apache进程一般需要4M内存因此在一个1G内存的机器上:apache_max_process_with_good_perfermance (1g / 5m) * 2 = 500apache_max_process = 500 * 1.5 = 750通过本机测试apache进程需要5M内存,如下图。而本机内存有8G,故设置apache_max_process=6500应该是比较合理。
因此可以尝试配置为:IfModule mpm_prefork_module StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 6500
文档评论(0)