简述:机器为一台虚拟机 两个cpu(Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz)、2G内存。

并发小于3w。用一台机器应该足以抗住。

配置:nginx 1.06 + php_cgi (PHP 5.2.13) +mysql (5.1.42-log MySQL Community Server)

1.问题截图:php_cgi消耗cpu过高导致机器很卡 查看内存也不足。

95bbe9db1a2b22f22f02aca3e418e635.png

2.做出调整:

1. nginx少开两个进程:

user nobody nobody;

worker_processes 2;

worker_rlimit_nofile 51200;

2.调整php_cgi的子进程数:

/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cgi

/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1027 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cgi

3.重启php_cgi和nginx发现效果 不佳。查资料发现有可能eAccelerater模块不兼容,(http://zhangxugg-163-com.iteye.com/blog/873378)

4.修改/usr/local/php-fcgi/lib/php.ini 禁止eaccelerator模块 改为apc加速:

[apc]

extension = "apc.so"

apc.enabled = 1

apc.cache_by_default = on

apc.shm_segments = 1

apc.shm_size = 128M

apc.ttl = 7200

apc.user_ttl = 7200

apc.num_files_hint = 1024

apc.write_lock = On

apc.gc_ttl=3600

apc.ttl=0

apc.mmap_file_mask=/tmp/apc.XXXXXX

5.重启nginx和php_cgi

[[email protected] sbin]# cat restart.sh

#!/bin/sh

killall -9 nginx

killall -9 php-cgi

ulimit -HSn 655350

ulimit -a

sleep 3

/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cgi

/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1027 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cgi

/usr/local/nginx/sbin/nginx

6.效果图:

efe986f8a034a9793b71bb8093bdee31.png

本文出自 “网络空间” 博客,谢绝转载!

原文:http://netspace.blog.51cto.com/1069106/1361695

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐