nginx - 서버 구성에 따라 웹 서비스 매개변수를 설정하는 방법은 무엇입니까?
淡淡烟草味
淡淡烟草味 2017-05-16 17:02:45
0
3
617

최근에 서버 관련 일을 하다가 문제가 생겨서 여러분께 도움을 요청하고 싶습니다.
현재 웹사이트 접속 상태: 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초 정도 기다려야 하고 부하도 매우 높다는 것을 알 수 있습니다.

이것에 대해 알고 싶은 것은:

  1. 이 서버 구성으로는 이런 트래픽이 한계인가요? 어느 정도까지 달성할 수 있나요?
  2. Apache(2.4)는 프리포크 모드에서 작동합니다. 사용자가 액세스하면 프로세스가 생성되나요?
  3. Apache의 prefork 구성에 있는 MaxConnectionsPerChild 매개변수는 각 프로세스의 최대 연결 수입니다. 예를 들어, 페이지에 액세스할 때 js, css 및 img 요청이 동시에 발생합니까? 시간은 keepAlive 기간을 나타냅니다.
  4. 현재 서버 구성을 기반으로 apache 또는 nginx의 구성 매개변수를 결정하고 설정하는 방법은 무엇입니까? 리소스 사용량은 어떻게 계산되나요?

경험 많은 선배님들의 지도 부탁드립니다. 감사합니다!

淡淡烟草味
淡淡烟草味

모든 응답(3)
曾经蜡笔没有小新

IO를 기다리고 있는지, 무엇이 CPU를 차지하고 있는지 살펴보세요.

이미 Nginx가 있는 경우 Nginx + PHP-FPM을 사용하세요. Apache를 사용할 필요가 없습니다(Apache가 필요한 다른 항목이 없다면). mod_php 대신 PHP-FPM을 사용해 보세요. 이에 따라 PHP-FPM을 적절하게 설정하세요. 메모리에 최대 프로세스 수(한 프로세스에는 약 20-40M 메모리가 필요함)

为情所困

추천:
1. 아키텍처를 Nginx+PHP-FPM으로 변경하고 Nginx+PHP-FPM 환경 구축
2. 모든 정적 파일(JS, CSS, 정적 사진)을 CDN에 넣으세요. 이제 CDN 가격이 매우 저렴해졌습니다. youpai.com과 Qiniu
를 추천합니다. 3. WordPress 캐싱을 잘 수행하세요. 많은 WordPress 블로그 페이지를 정적으로 캐시할 수 있습니다. 이를 위해서는 많은 플러그인이 있어야 합니다

.
淡淡烟草味

호환성 문제가 크지 않다면 PHP 버전 업그레이드를 고려해 볼 수 있습니다. 5.5에서는 성능이 크게 향상되었습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿