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

최근에 서버 관련 일을 하다가 문제가 생겨서 여러분께 도움을 요청하고 싶습니다.
현재 웹사이트 접속 상태: 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)
曾经蜡笔没有小新

看 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有巨大性能提升。

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!