Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial apache - 在嵌入式设备中使用php,php-fpm占用很高的CPU

apache - 在嵌入式设备中使用php,php-fpm占用很高的CPU

Jun 06, 2016 pm 08:44 PM
apache php php-fpm 嵌入式

目前手头上现在有个项目,是在一个装有linux系统的嵌入式设备里面跑一个网站。

设备的CPU是RAM结构,单核,1GB。

我们在系统里面架设了Apache+Mysql+php,然后写个网站,放在里面运行。感觉有点类似于路由器里面那个web页面的设置程序,但是我们那是个完整的网站应用。

php在设备上运行的很慢,但是通过合并php文件(减小IO),使用apc(缓存opcode和一些数据和页面),访问速度有所提升。

但是,每次访问设备里面的网站时,php-fpm的cpu能瞬间占用到40%左右,不访问页面后cpu占用会降下来。因为设备中还运行了一下其他服务和程序,当php-fpm占用过多cpu后,会引起其他程序出现问题。

为什么php-fpm会占用那么多cpu?apache也没有占多少,有没有办法让cpu降下来。

本来有想过用一些嵌入式的web服务器,但是感觉cpu占用不是apache的问题,是php的问题,不知道如何处理。友友们又没有什么建议和想法?

PS:设备中的网站只有一个用户访问也会这样。

回复内容:

目前手头上现在有个项目,是在一个装有linux系统的嵌入式设备里面跑一个网站。

设备的CPU是RAM结构,单核,1GB。

我们在系统里面架设了Apache+Mysql+php,然后写个网站,放在里面运行。感觉有点类似于路由器里面那个web页面的设置程序,但是我们那是个完整的网站应用。

php在设备上运行的很慢,但是通过合并php文件(减小IO),使用apc(缓存opcode和一些数据和页面),访问速度有所提升。

但是,每次访问设备里面的网站时,php-fpm的cpu能瞬间占用到40%左右,不访问页面后cpu占用会降下来。因为设备中还运行了一下其他服务和程序,当php-fpm占用过多cpu后,会引起其他程序出现问题。

为什么php-fpm会占用那么多cpu?apache也没有占多少,有没有办法让cpu降下来。

本来有想过用一些嵌入式的web服务器,但是感觉cpu占用不是apache的问题,是php的问题,不知道如何处理。友友们又没有什么建议和想法?

PS:设备中的网站只有一个用户访问也会这样。

如果apache,mysql,php什么的都挤在一个嵌入式设备里,很可能是内存不够了或者是缓存的空间被挤占,导致每次访问都会触发大量page fault。

另一种可能是pm设置成了ondemand或其他非固定算法,使得php-fpm不断花时间启动新的php进程。

我没记错的话,PHP-FPM收到请求后,默认会循环在worker列表里找下一个空闲的worker,而不是重用旧的。如果你开了10个worker,可能新worker已经给交换出内存了。

建议降低php-fpm spawn的worker数量。对于单核处理器,mysql又部署在同一设备上的情况,甚至一个worker就够了。(无需I/O等待的时候,开再多的worker也只是瓜分早就100%占用的CPU而已,还会创造无谓的context switch。)

嵌入式要用apache + php建议直接用mod_php。可能的话换成lighttpd + php-fcgi应该更快。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles