최근에 서버 관련 일을 하다가 문제가 생겨서 여러분께 도움을 요청하고 싶습니다.
현재 웹사이트 접속 상태: 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초 정도 기다려야 하고 부하도 매우 높다는 것을 알 수 있습니다.
이것에 대해 알고 싶은 것은:
경험 많은 선배님들의 지도 부탁드립니다. 감사합니다!
曾经蜡笔没有小新2017-05-16 17:04:45
IO를 기다리고 있는지, 무엇이 CPU를 차지하고 있는지 살펴보세요.
이미 Nginx가 있는 경우 Nginx + PHP-FPM을 사용하세요. Apache를 사용할 필요가 없습니다(Apache가 필요한 다른 항목이 없다면). mod_php 대신 PHP-FPM을 사용해 보세요. 이에 따라 PHP-FPM을 적절하게 설정하세요. 메모리에 최대 프로세스 수(한 프로세스에는 약 20-40M 메모리가 필요함)
为情所困2017-05-16 17:04:45
추천:
1. 아키텍처를 Nginx+PHP-FPM으로 변경하고 Nginx+PHP-FPM 환경 구축
2. 모든 정적 파일(JS, CSS, 정적 사진)을 CDN에 넣으세요. 이제 CDN 가격이 매우 저렴해졌습니다. youpai.com과 Qiniu
를 추천합니다.
3. WordPress 캐싱을 잘 수행하세요. 많은 WordPress 블로그 페이지를 정적으로 캐시할 수 있습니다. 이를 위해서는 많은 플러그인이 있어야 합니다