Maison développement back-end tutoriel php 高并发下,apache频繁重新启动

高并发下,apache频繁重新启动

Jun 13, 2016 pm 12:13 PM
apache nbsp process

高并发下,apache频繁重启
有几台服务器都是windows2008系统
我配置了一下每台服务器的apache的最大并发量即ThreadsPerChild        1000
这几天为了优化原来的程序,需要写一个多线程(php借助apache的多线程实现)的长时间运行的程序,线程数是50个。
发现这些长时间运行的程序最多执行1个小时就会统一停止,找了半天原因发现当程序停止时apache的错误日志里会有“child process exited with status 255 -- Restarting.”的信息,然后apache就自动重启了。
于是我就检查每台服务器上的apache的错误日志,发现越高并发量的服务器,apache的重启频率就越频繁,有台并发在200左右的服务器竟然每隔几分钟就重启一次。
后来我试着用一个线程执行那个长时间运行的程序,发现1天下来都没有问题,再换50个线程的1小时不到又停了。
哎,我已经凌乱了,对apache实在不够了解,apache配置就设置了个多端口和并发数,其他都是原配,是不是还有些重要的配置我忽略了?
网上找了一段时间,没有合适的解决办法,各位一起分析讨论下吧
“child process exited with status 255 -- Restarting.”apache重启的问题如何解决?
php长时间执行程序遇到apache自动重启时怎么自动恢复?

------解决思路----------------------
你这样改改看看,httpd.conf文件, 我觉得一般瓶颈都在mysql上。 如果还不行, 果断换nginx,我前一段时间也是这样, 现在用nginx, 目前很愉快了。 

<br /><IfModule prefork.c><br />    StartServers           5<br />    MinSpareServers        5<br />    MaxSpareServers        10<br />    ServerLimit            2000<br />    MaxClients             1500<br />    MaxRequestsPerChild    1000<br /></IfModule><br />
Copier après la connexion

------解决思路----------------------
child process exited with status 255 -- Restarting
子进程的退出状态255——重启

windows 中的 php 是不支持线程的

如果你是通过 fsockopen 模拟,那就是主动发起的 http 进程。对于 apache 而言,这与浏览器发起的并无区别
当并发的 http 请求超过了 Apache 预设的并发数时,只会产生排队现象,而不会造成崩溃
当然,并发数是要有内存做保证的。内存不足,崩溃就是自然的

另外,如果 http 响应程序长时间没有输出的话,Apache 就会将其挂起。这不是 Apache 的问题,而是相应程序的问题
 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment définir le répertoire CGI dans Apache Comment définir le répertoire CGI dans Apache Apr 13, 2025 pm 01:18 PM

Pour configurer un répertoire CGI dans Apache, vous devez effectuer les étapes suivantes: Créez un répertoire CGI tel que "CGI-Bin" et accorder des autorisations d'écriture Apache. Ajoutez le bloc directif "Scriptalias" dans le fichier de configuration Apache pour mapper le répertoire CGI à l'URL "/ cgi-bin". Redémarrez Apache.

Comment démarrer Apache Comment démarrer Apache Apr 13, 2025 pm 01:06 PM

Les étapes pour démarrer Apache sont les suivantes: Installez Apache (Commande: Sudo apt-get install Apache2 ou téléchargez-le à partir du site officiel) Start Apache (Linux: Sudo SystemCTL Démarrer Apache2; Windows: Cliquez avec le bouton droit sur le service "APACHE2.4" et SELECT ") Vérifiez si elle a été lancée (Linux: SUDO SYSTEMCTL STATURE APACHE2; (Facultatif, Linux: Sudo SystemCTL

Que faire si le port Apache80 est occupé Que faire si le port Apache80 est occupé Apr 13, 2025 pm 01:24 PM

Lorsque le port Apache 80 est occupé, la solution est la suivante: découvrez le processus qui occupe le port et fermez-le. Vérifiez les paramètres du pare-feu pour vous assurer qu'Apache n'est pas bloqué. Si la méthode ci-dessus ne fonctionne pas, veuillez reconfigurer Apache pour utiliser un port différent. Redémarrez le service Apache.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Comment Debian améliore la vitesse de traitement des données Hadoop Comment Debian améliore la vitesse de traitement des données Hadoop Apr 13, 2025 am 11:54 AM

Cet article examine comment améliorer l'efficacité du traitement des données Hadoop sur les systèmes Debian. Les stratégies d'optimisation couvrent les mises à niveau matérielle, les ajustements des paramètres du système d'exploitation, les modifications de configuration de Hadoop et l'utilisation d'algorithmes et d'outils efficaces. 1. Le renforcement des ressources matérielles garantit que tous les nœuds ont des configurations matérielles cohérentes, en particulier en faisant attention aux performances du CPU, de la mémoire et de l'équipement réseau. Le choix des composants matériels de haute performance est essentiel pour améliorer la vitesse de traitement globale. 2. Réglage des paramètres JVM: Ajustez dans le fichier hadoop-env.sh

Comment supprimer plus que les noms de serveurs d'Apache Comment supprimer plus que les noms de serveurs d'Apache Apr 13, 2025 pm 01:09 PM

Pour supprimer une directive de nom de serveur supplémentaire d'Apache, vous pouvez prendre les étapes suivantes: Identifier et supprimer la directive supplémentaire de serveur. Redémarrez Apache pour que les modifications prennent effet. Vérifiez le fichier de configuration pour vérifier les modifications. Testez le serveur pour vous assurer que le problème est résolu.

Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Apr 12, 2025 pm 11:36 PM

Cet article expliquera comment améliorer les performances du site Web en analysant les journaux Apache dans le système Debian. 1. Bases de l'analyse du journal APACH LOG enregistre les informations détaillées de toutes les demandes HTTP, y compris l'adresse IP, l'horodatage, l'URL de la demande, la méthode HTTP et le code de réponse. Dans Debian Systems, ces journaux sont généralement situés dans les répertoires /var/log/apache2/access.log et /var/log/apache2/error.log. Comprendre la structure du journal est la première étape d'une analyse efficace. 2.

Comment afficher votre version Apache Comment afficher votre version Apache Apr 13, 2025 pm 01:15 PM

Il existe 3 façons d'afficher la version sur le serveur Apache: via la ligne de commande (apachectl -v ou apache2ctl -v), cochez la page d'état du serveur (http: // & lt; serveur ip ou nom de domaine & gt; / server-status), ou afficher le fichier de configuration Apache (serverVeelion: apache / & lt; version & gt;).

See all articles