Heim  >  Fragen und Antworten  >  Hauptteil

nginx – Wie lege ich Webdienstparameter basierend auf der Serverkonfiguration fest?

Ich habe in letzter Zeit an serverbezogenen Dingen herumgebastelt und bin auf einige Probleme gestoßen. Ich möchte alle um Hilfe bitten.
Aktueller Website-Zugriffsstatus: PV: 15W+, IP: 2W+
Serverkonfiguration:
CPU: 4 * Intel(R) Xeon(R) CPU E5-2430 0 bei 2,20 GHz
Speicher: 4G
Bandbreite: 6M
Festplatte: 2*100G HDD


Dieser Server verwendete früher das wdcp-Panel, php5.2 + mysql 5.1. Später, nachdem die Site gehackt wurde, habe ich die Verarbeitung übernommen Erstellen Sie eine One-Click-Umgebung (Paket auf blog.linuxeye.com), erstellen Sie eine Lanmp-Umgebung und verwenden Sie nach dem Starten des Dienstes einen weiteren Server-AB-Test (ab -c 100 -n 500). , das Programm ist WordPress. Obwohl es der aktuellen Spitzenzeit standhält, liegt die CPU oft bei etwa 98 % und die Zugriffsgeschwindigkeit ist nicht mehr so ​​schnell wie zuvor
Bei der Überprüfung der Parallelitätssituation netstat -an | grep ESTABLISHED | wc -l fällt auf, dass bei Zugriffen zu Spitzenzeiten von etwa 600 etwa 3 Sekunden gewartet werden müssen und die Auslastung ebenfalls sehr hoch ist.

Was ich dazu wissen möchte ist:

  1. Ist diese Art von Datenverkehr bei dieser Serverkonfiguration die Grenze? Inwieweit kann es erreicht werden?
  2. Apache (2.4) arbeitet im Prefork-Modus. Wird ein Prozess erstellt, wenn ein Benutzer darauf zugreift?
  3. Der Parameter MaxConnectionsPerChild in der Prefork-Konfiguration gibt die maximale Anzahl von Verbindungen für jeden Prozess an. Worauf bezieht sich diese Anzahl von Verbindungen? Beim Zugriff auf eine Seite gibt es beispielsweise gleichzeitig JS-, CSS- und IMG-Anfragen Zeit, die sich auf den KeepAlive-Zeitraum bezieht.
  4. Wie ermittelt und legt man die Konfigurationsparameter von Apache oder Nginx basierend auf der aktuellen Serverkonfiguration fest? Wie wird der Ressourcenverbrauch berechnet?

Bitte geben Sie mir eine Anleitung von erfahrenen Senioren, danke!

淡淡烟草味淡淡烟草味2734 Tage vor601

Antworte allen(3)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:04:45

    看 CPU 被什么占满了,是否是在等待 IO.

    如果已经有了 Nginx, 直接用 Nginx + PHP-FPM 就好了,没必要用 Apache(除非你有其他的东西必须 Apache). 尽量用 PHP-FPM 不要用 mod_php, 根据内存恰当地设置 PHP-FPM 的最大进程数(一个进程大概需要 20-40M 内存)。

    Antwort
    0
  • 为情所困

    为情所困2017-05-16 17:04:45

    建议:
    1、架构改换成Nginx+PHP-FPM,Nginx+PHP-FPM环境搭建
    2、将静态文件(JS、CSS、静态图片)全部放到到CDN上,现在CDN的价格很便宜的,推荐又拍、七牛
    3、做好WordPress缓存,WordPress的很多博客页面完全可以做静态缓存,肯定有多插件来实现

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:04:45

    如果兼容性问题不大,可虑升级PHP版本。5.5有巨大性能提升。

    Antwort
    0
  • StornierenAntwort