최근에 서버 관련 일을 하다가 문제가 생겨서 여러분께 도움을 요청하고 싶습니다.
현재 웹사이트 접속 상태: PV: 15W+, IP: 2W+
서버 구성:
CPU: 4 * 인텔(R) 제온(R) CPU E5-2430 0 @ 2.20GHz
메모리: 4G
대역폭: 6M
하드 드라이브: 2*100G HDD
이 서버는 wdcp 패널, php5.2 + mysql 5.1을 사용했습니다. 피크 기간 동안 CPU와 부하가 매우 안정적이었습니다. 나중에 사이트가 해킹된 후 시스템을 다시 설치한 후 저도 사용했습니다. 원클릭 환경(blog.linuxeye.com 패키지), Lanmp 환경 구축, 서비스 시작 후 다른 서버 사용 ab 테스트(ab -c 100 -n 500), CPU가 즉시 가득 차서 로드도 급증함 , 프로그램은 WordPress입니다. 현재 피크 기간을 견딜 수 있지만 CPU는 종종 98% 정도이며 액세스 속도는 이전만큼 빠르지 않습니다
; 동시성 상황netstat -an | grep ESTABLISHED | wc -l
을 확인해 보면 피크 시간대에 약 600명의 사용자가 접속할 때 약 3초 정도 기다려야 하고 부하도 매우 높다는 것을 알 수 있습니다.
이것에 대해 알고 싶은 것은:
경험 많은 선배님들의 지도 부탁드립니다. 감사합니다!
看 CPU 被什么占满了,是否是在等待 IO.
如果已经有了 Nginx, 直接用 Nginx + PHP-FPM 就好了,没必要用 Apache(除非你有其他的东西必须 Apache). 尽量用 PHP-FPM 不要用 mod_php, 根据内存恰当地设置 PHP-FPM 的最大进程数(一个进程大概需要 20-40M 内存)。
建议:
1、架构改换成Nginx+PHP-FPM,Nginx+PHP-FPM环境搭建
2、将静态文件(JS、CSS、静态图片)全部放到到CDN上,现在CDN的价格很便宜的,推荐又拍、七牛
3、做好WordPress缓存,WordPress的很多博客页面完全可以做静态缓存,肯定有多插件来实现
如果兼容性问题不大,可虑升级PHP版本。5.5有巨大性能提升。