php面试题目100及最佳答案(算法面试经典100题)
其实php面试题目100及最佳答案的问题并不复杂,但是又很多的朋友都不太了解算法面试经典100题,因此呢,今天小编就来为大家分享php面试题目100及最佳答案的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
php-fpm占用cpu和内存过高100% 解决办法
pm.max_children设置多大合适?
pm.max_children表示 php-fpm能启动的子进程的最大数量。这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。设置”max_children”也需要根据服务器的性能进行设定。一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M~30M左右,因此根据服务器内存大小来计算“max_children”的数量。例如,假设服务器内存为2GB,那么“max_children”设置为40个比较合适,即20M* 40= 800M,这在峰值时所有PHP-CGI所耗内存在800M以内,低于服务器有效内存。
请求执行时间过长会导致“504 Gateway Time-out”错误,而“max_children”设置过小,比如5-10个,php-cgi会“很累”,处理速度慢,占用的CPU也很高,可能引发“502 Bad gateway”错误。
max_children较好的设置方式根据req/s(吞吐率,单位时间里服务器处理的最大请求数)来设置,若程序是 100 req/s的处理能力,那么设置为 100就比较合适,这是动态来调整的。
request_terminate_timeout多大合适?
如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没有循环或BUG的话你可以直接将”request_terminate_timeout”设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。否则,给”request_terminate_timeout”赋一个值,根据服务器性能进行设定,一般来说性能越好你可以设置越高,20分钟-30分钟都可以。例如,我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现“502 Bad gateway”错误。
pm.max_children= 300;静态方式下开启的php-fpm进程数量
pm.start_servers= 20;动态方式下的起始php-fpm进程数量
pm.min_spare_servers= 5;动态方式下的最小php-fpm进程数量
pm.max_spare_servers= 35;动态方式下的最大php-fpm进程数量
数值设置,参考自己的实际硬件配置,可以参考“总内存/30M”来计算。例如,对于8GB内存的服务器,可以设置为100个进程。
pm= dynamic;表示使用哪种进程数量管理方式
pm= static;表示php-fpm进程数是静态的,进程数自始至终都是pm.max_children指定的数量,不再增加或减少。
如何判断我选择“pm= dynamic”还是“pm= static”?
对于内存大的服务器(比如8G以上)来说,用静态的max_children实际上更为妥当,因为这样不需要进行额外的进程数目控制,会提高效率。对于内存稍微小点的服务器或VPS,动态方式更合适,因为可以结束掉多余的进程,回收释放一些内存。具体最大数量根据“总内存/20M”得到。
配置php慢日志,用于监控
request_slowlog_timeout= 10s
slowlog= log/$pool.log.slow
配置php-fpm进程可打开的最大文件句柄数
rlimit_files= 1024
默认1024,此值可以不需要配置
服务器php-cgi.exe进程过多,导致CPU占用100%
你的现象一般有两种可能,一是PHP脚本问题,例如你在PHP脚本后面写一个按回车结束,然后从标准输入读数据,可能会造成阻塞,使得进程无法结束。进行测试的方法的是写一个最简单的PHP脚本(例如只有phpinfo();一行),然后不断用浏览器打开这个页面,如果CGI进程也在增加,那么说明是下面一种情况。
另外一种情况是PHP版本安装不对,在WINDOWS下用CGI方式工作,不要安装“线程安全”版本,应该安装“非线程安全”的版本,否则会出现你的情况。
谁能提供php基础教程免费可用的下载!奖励100分
使用电驴下载
《Lynda.Com PHP与 MySQL的精华教程》(Lynda.Com PHP With MySQL Essential Training)DVD[ISO]
《PHP和MySQL Web开发_中文版》(SAMS PUBLISHING PHP AND MYSQL WEB DEVELOPMENT)2005
《PHP 5& MySQL 5基础与实例教程随书光盘》[ISO]
《精通PHP 5电子教程光盘》(MASTERING PHP 5)[Bin]
《PHP基础教程e书》(the base of PHP's ebook)scrate第一次整理
中文名称:PHP基础教程e书英文名称:the base of PHP's ebook版本:scrate第一次整理发行时间:2006年05月25日地区:大陆语言:普通话简介:PHP基础 ebook目录:手把手教你安装PHP#PHP5 MySQL编程入门英文版PHP入门教程 PHP 4...
2006/5/25发布 by scrate@资料资源区- 1个文件, 54.2MB
《PHP教程》(LYNDA.COM.PHP.ESSENTIAL.TRAINING)[Bin]
中文名称:PHP教程英文名称:LYNDA.COM.PHP.ESSENTIAL.TRAINING资源类型:Bin地区:美国语言:英语简介:转自TLF语言:英语主页:类型:教程...
2005/5/19发布 by零式飞翼改@资料资源区- 10个文件, 2.5GB
《中原大学PHP视频教程》
中文名称:中原大学PHP视频教程地区:台湾语言:普通话简介:[通过安全测试]杀毒软件:卡巴斯基反病毒版本: Personal Pro 5.0.227病毒库:2006-2-16常驻:Razorback 2.0或DonkeyServer No1共享条件:电信ADSL 2M带宽,上载理论64K,平均50K...
2006/2/16发布 by cdutlee@资料资源区- 5个文件, 452MB
还有很多,你可以去看看选择适合自己的来下载
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!