Configuration d'Apache

Nouveau WRInaute
Bonjour,

Je possède un server dedié, Dual Xeon 3.2Ghz et dessus un site web qui génère énormement de traffic, site qui est a 80% en cache html :)
Aux heures de pointes apache crash souvent surement du a sa configuration ... on trouve pas beaucoup de documention pour les gros site donc peut être vous allez pouvoir m'aidez :roll:

J'vous donne le w de hier soir :
22:45:22 up 124 days, 4:59, 1 user, load average: 7.72, 7.33, 6.56

Le server-status qui va avec :

Current Time: Friday, 24-Nov-2006 22:48:29 CET
Restart Time: Friday, 24-Nov-2006 22:32:43 CET
Parent Server Generation: 0
Server uptime: 15 minutes 46 seconds
Total accesses: 955581 - Total Traffic: 1.8 GB
CPU Usage: u721.57 s102.22 cu0 cs0 - 87.1% CPU load
1010 requests/sec - 2.0 MB/second - 2051 B/request
1524 requests currently being processed, 0 idle servers


et celui de se matin,


Current Time: Saturday, 25-Nov-2006 10:39:11 CET
Restart Time: Saturday, 25-Nov-2006 02:00:02 CET
Parent Server Generation: 1
Server uptime: 8 hours 39 minutes 9 seconds
Total accesses: 11431224 - Total Traffic: 23.0 GB
CPU Usage: u517.17 s73.59 cu0 cs0 - 1.9% CPU load
367 requests/sec - 0.8 MB/second - 2158 B/request
1267 requests currently being processed, 118 idle servers


La configuration du httpd.conf :

ServerType standalone
Timeout 10
KeepAlive On
MaxKeepAliveRequests 80
KeepAliveTimeout 2
MinSpareServers 16
MaxSpareServers 32
StartServers 10
MaxClients 1524
MaxRequestsPerChild 100


En esperant que quelqu'un qui connait cette situation peut m'aider ;)
Merci
 
WRInaute passionné
Bonjour,

peut-tu nous poster (ou en MP) le resultat de ps aux, est-ce apache 1 ou 2, quel langage de scipt coté serveur (Php ?) etc...

Merci
 
Nouveau WRInaute
En effet, sa serait peut-être ... le peut être me gène :) Car nous avons changer plusiers fois de servers en peu de temp et sa me generais de changer encore.
Donc si tu as était dans une situation similaire et que sa a résolu ton problème, j'pense que j'ferais sa .... mais si tu dit sa sans vraiment être sur .... :roll:

Personne qui as eu se genre de problème ? Solution du filer résou tout ?
 
WRInaute occasionnel
Non je n'ai pas de filer :D
Mais avec ton nombre de requetes web (donc apache), tu pourrais répartir les requêtes web sur différents serveurs avec ce système.

Sinon, tu peux essayer de mettre KeepAlive Off dans la config apache (par contre le cpu va en baver ) :?

Sinon, t'as combien en RAM sur ton serveur là ? Tu as mis 1524 en max clients (il faut environ 1524 x 10mo = 15240mo de RAM). Ca swappe nan ? :D
 
Nouveau WRInaute
Type Percent Capacity Free Used Size
Physical Memory 91% 190.25 MB 1.79 GB 1.98 GB
- Kernel + applications 62% 1.22 GB
- Buffers 4% 71.63 MB
- Cached 25% 510.35 MB
Disk Swap 0% 2.00 GB 560.00 KB 2.00 GB


Le KeepAlive correspond à quoi concrètement ?
J'sai sbien que le filer serait une bonne solution ( mais hyper couteuse ), donc j'essaye de savoir avant si quelqu'un qui as était dans ce cas aurait pas une solution .... car en plus le filer sa doit être technique quand même :)
 
WRInaute occasionnel
Ah oui exact ton swap n'est pas utilisé presque :D

Par contre, aux heures de pointe, il doit se remplir (avec 1524 en MaxClients)
 
WRInaute passionné
En Fait ton probléme se situe au niveaux de la taille des processus apache. Lorsque apache tourne avec php, la taille de ces processus est au minimum de 10Mo voir plus selon ta config (modules apaches activés, config php) Donc tu est limité par la taille de la ram de ton serveur et lorsque ton MaxClient est atteint.... ça rame.

Dans le cas de taconfig, apache utilise un processus occupant au moins 1OMo de ram pour servir un gif de quelques ko alors qu'un processus apache standart de 3Mo suffirait.

La solution consiste à avoir deux serveurs (serveur ne veut pas dire machines) un configuré pour les processus léger (htm,css,js,jpg,gif) avec le strict necessaire en terme de modules apache, l'autre pour les processus lourds de type PHP.

Il est tout a fait possible de faire fonctionner deux instances d'apache sur la même machine (le serveur leger sur le port 80, le serveur lourd sur le port 8080) Toutes les requetes arrivent sur le serveur léger qui redirige les requetes sur des pages php vers le serveur lourd. Cela permet de multiplier le nombre de MaxClient par 2 ou 3 selon les config.

Je connais des développeurs qui utilisent deux instances d'apache pour faire cohabiter sur la même PHP4 et PHP5. (chaque version de php étant attachée à une instance apache)

Je peux t'assurer que cela fonctionne car j'utilise cette solution sur un serveur que j'ai en administration. J'utilise apache2 pour le serveur leger en mode multithread et apache1 pour le serveur lourd PHP (Car PHP ne fonctionne pas en mode multithread sous apache2). Mais il est possible de lancer deuc instances d'apache1. Le serveur léger peut également être autre chose qu'apache.

Maintenant, t'expliquer la marche à suivre sort du cadre de ce forum. Contacte moi par MP et je te donnerais plus d'infos.
 
WRInaute impliqué
Les informations sont toujours bonne pour les autres ;)

si jamais il devait y en avoir d'autres qui puissent être expliquées par le biais du forum..
 
Nouveau WRInaute
Merci pour ces info fandecine, par contre une fois les 2 server http installer, comment fait tu pour utiliser soit l'un soit l'autre ? Tu indique à chaque fois le port dans l'URL ?


Je vais essayer de faire sa, une fois que j'aurais optimiser a fond mon httpd.conf car je pense qu'il n'est pas parfait ... J'ai passer le MaxRequestsPerChild à 50 mais sa crash encore même si sa va un peu plus vite ...


Current Time: Saturday, 25-Nov-2006 18:28:26 CET
Restart Time: Saturday, 25-Nov-2006 18:17:21 CET
Parent Server Generation: 0
Server uptime: 11 minutes 5 seconds
Total accesses: 502464 - Total Traffic: 936.6 MB
CPU Usage: u200 s27.38 cu0 cs0 - 34.2% CPU load
756 requests/sec - 1.4 MB/second - 1954 B/request
1503 requests currently being processed, 0 idle servers

:'(


//Edit, Comment faire pour que mes process apache soient sur une base de 3Mo et non 10Mo ... car le site est vraiment ultra en cache, les seules requête PHP sont légère ... ont le voit bien sur le server-status, la moyenne des requête est a peine d'1Ko :oops:
 
WRInaute passionné
eMule_Paradise a dit:
Merci pour ces info fandecine, par contre une fois les 2 server http installer, comment fait tu pour utiliser soit l'un soit l'autre ? Tu indique à chaque fois le port dans l'URL ?

En ajoutant une regle de redirection conditionelle dans le htacess du serveur répondant sur le port 80 vers le serveur répondant sur le port 8080 pour tout ce qui est du php.

eMule_Paradise a dit:
Edit, Comment faire pour que mes process apache soient sur une base de 3Mo et non 10Mo ... car le site est vraiment ultra en cache, les seules requête PHP sont légère ... ont le voit bien sur le server-status, la moyenne des requête est a peine d'1Ko :oops:

Ben, il faut pas de php! Si tu regarde la taille de tes processus juste aprés le démarrage d'apache et quelques heures plus tard tu constatera qu'elle a augmenté. Apache ne siat pas diminuer la taille alloué à un processus lorsqu'il le réutilise, seulement l'augmenter. Faut faire avec...

Mais si ton serveur léger ne doit servir que des fichiers html,jpf,js,css ... la taille de chaque process ne devrait pas dépasser 4 Mo.
 
Nouveau WRInaute
diminuer la taille des processus apache pour libérer la ram

fandecine a dit:
Il est tout a fait possible de faire fonctionner deux instances d'apache sur la même machine (le serveur leger sur le port 80, le serveur lourd sur le port 8080) Toutes les requetes arrivent sur le serveur léger qui redirige les requetes sur des pages php vers le serveur lourd. Cela permet de multiplier le nombre de MaxClient par 2 ou 3 selon les config.

Bonjour fandecine,

Je serais très intéressé de savoir comment monter cette configuration à 2 serveurs apache (l'un qui servirait le php et l'autre les images html etc), et donc de réduire la taille des MaxClients.

Mon problème est que j'ai une vingtaine de processus apache qui tournent pour rien, alors que mon site web (en php/mysql) n'en demande pas autant.
J'ai un serveur dédié chez ovh avec p2 dual core 2go et 1go de ram, et quand un moteur de recherche indexe le site ou quand il y a beaucoup de monde, ca rame à mort...
(Ou encore quand il n'y a aucune activité il y a à peine 1/3 de la ram qui est libre, je n'y comprends rien !!!)
Il a donc fallu modifier la config apache, que je mets ici :

Code:
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 30
KeepAliveTimeout 15

## Server-Pool Size Regulation (MPM specific)

# prefork MPM
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients        30
MaxRequestsPerChild   5
</IfModule>

# worker MPM
<IfModule worker.c>
StartServers         2
MaxClients          30
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>
Déjà est-ce le prefork MPM ou le worker MPM qui sont utilisés ? Parce que je me suis basé sur le prefork MPM...

Voila, désolé parce que je sais que j'ai posé beaucoup de questions. J'ai lu pas mal de réponses de ta part sur d'autres sujets similaires, mais je ne parviens pas à résoudre mes problèmes de ram (alors que quand j'ai acheté ce serveur je pensais que 1 go suffiraient amplement car avant il n'y avait que 256 mo...)

voici aussi un ps aux pour info, la nuit quand il n'y pas de trafic :
Code:
USER	PID	%CPU	%MEM	VSZ	RSS	TTY	STAT	START	TIME	COMMAND
root	2	0	0	0	0	?	S<	juin-13	00:00	[kthreadd]
root	3	0	0	0	0	?	S<	juin-13	00:00	[migration/0]
root	4	0	0	0	0	?	S<	juin-13	00:00	[ksoftirqd/0]
root	5	0	0	0	0	?	S<	juin-13	00:00	[migration/1]
root	6	0	0	0	0	?	S<	juin-13	00:00	[ksoftirqd/1]
root	7	0	0	0	0	?	S<	juin-13	00:03	[events/0]
root	8	0	0	0	0	?	S<	juin-13	00:03	[events/1]
root	9	0	0	0	0	?	S<	juin-13	00:00	[khelper]
root	86	0	0	0	0	?	S<	juin-13	00:10	[kblockd/0]
root	87	0	0	0	0	?	S<	juin-13	00:08	[kblockd/1]
root	89	0	0	0	0	?	S<	juin-13	00:00	[kacpid]
root	90	0	0	0	0	?	S<	juin-13	00:00	[kacpi_notify]
root	167	0	0	0	0	?	S<	juin-13	00:00	[ata/0]
root	168	0	0	0	0	?	S<	juin-13	00:00	[ata/1]
root	169	0	0	0	0	?	S<	juin-13	00:00	[ata_aux]
root	170	0	0	0	0	?	S<	juin-13	00:00	[ksuspend_usbd]
root	175	0	0	0	0	?	S<	juin-13	00:00	[khubd]
root	178	0	0	0	0	?	S<	juin-13	00:00	[kseriod]
root	217	0	0	0	0	?	S	juin-13	00:09	[pdflush]
root	218	0	0	0	0	?	S	juin-13	00:05	[pdflush]
root	219	0	0	0	0	?	S<	juin-13	00:13	[kswapd0]
root	220	0	0	0	0	?	S<	juin-13	00:00	[aio/0]
root	221	0	0	0	0	?	S<	juin-13	00:00	[aio/1]
root	226	0	0	0	0	?	S<	juin-13	00:00	[xfslogd/0]
root	227	0	0	0	0	?	S<	juin-13	00:00	[xfslogd/1]
root	228	0	0	0	0	?	S<	juin-13	00:00	[xfsdatad/0]
root	229	0	0	0	0	?	S<	juin-13	00:00	[xfsdatad/1]
root	230	0	0	0	0	?	S<	juin-13	00:00	[xfs_mru_cache]
root	914	0	0	0	0	?	S<	juin-13	00:00	[scsi_eh_0]
root	916	0	0	0	0	?	S<	juin-13	00:00	[scsi_eh_1]
root	975	0	0	0	0	?	S<	juin-13	00:00	[kpsmoused]
root	988	0	0	0	0	?	S<	juin-13	00:00	[rpciod/0]
root	989	0	0	0	0	?	S<	juin-13	00:00	[rpciod/1]
root	990	0	0	0	0	?	S<	juin-13	00:00	[kirqd]
root	992	0	0	0	0	?	S<	juin-13	00:04	[kjournald]
root	1705	0	0	0	0	?	S<	juin-13	00:18	[kjournald]
qmailq	2691	0	0	1544	340	?	S	juin-13	00:00	qmail-clean
root	2687	0	0	1580	368	?	S	juin-13	00:00	qmail-lspawn
root	2146	0	0	1560	392	?	Ss	juin-13	00:00	klogd
root	1186	0	0	1640	408	?	S<s	juin-13	00:00	udevd
root	3606	0	0	1800	424	?	Ss	juin-13	00:00	/usr/sbin/atd
root	3653	0	0	1544	424	tty2	Ss+	juin-13	00:00	/sbin/mingetty
root	3654	0	0	1544	424	tty3	Ss+	juin-13	00:00	/sbin/mingetty
root	3655	0	0	1544	424	tty4	Ss+	juin-13	00:00	/sbin/mingetty
root	3656	0	0	1544	424	tty5	Ss+	juin-13	00:00	/sbin/mingetty
root	3657	0	0	1544	424	tty6	Ss+	juin-13	00:00	/sbin/mingetty
root	3652	0	0	1544	428	tty1	Ss+	juin-13	00:00	/sbin/mingetty
root	2364	0	0	2732	436	?	Ss	juin-13	00:27	nifd
qmaill	2686	0	0	1552	452	?	S	juin-13	00:00	splogger
root	2656	0	0	3608	472	?	S	juin-13	00:00	/usr/sbin/courierlogger
root	2673	0	0	3608	472	?	S	juin-13	00:00	/usr/sbin/courierlogger
qmails	2684	0	0	1592	480	?	S	juin-13	00:01	qmail-send
qmailr	2690	0	0	1576	484	?	S	juin-13	00:00	qmail-rspawn
rpc	2153	0	0	1684	532	?	Ss	juin-13	00:00	portmap
postgres	2604	0	0	10640	540	?	S	juin-13	00:00	postgres:
root	2144	0	0	1608	560	?	Ss	juin-13	00:01	syslogd
root	14644	0	0	2012	588	?	S	04:04	00:00	awk
root	1	0	0	1736	596	?	Ss	juin-13	00:01	init
postgres	2601	0	0	9636	600	?	S	juin-13	00:01	postgres:
root	2646	0	0	3740	656	?	S	juin-13	00:00	/usr/sbin/courierlogger
root	2664	0	0	3740	660	?	S	juin-13	00:00	/usr/sbin/courierlogger
postgres	2605	0	0	9820	696	?	S	juin-13	00:00	postgres:
rpcuser	2178	0	0	1732	716	?	Ss	juin-13	00:00	rpc,statd
root	2420	0	0	2168	820	?	Ss	juin-13	00:00	xinetd
postgres	2603	0	0	19724	848	?	S	juin-13	00:01	postgres:
dbus	3613	0	0	2552	848	?	Ss	juin-13	00:00	dbus-daemon
root	2671	0	0	4840	864	?	S	juin-13	00:00	/usr/lib/courier-imap/couriertcpd
root	14697	0	0	4688	864	pts/1	R+	04:04	00:00	ps
root	2654	0	0	4840	868	?	S	juin-13	00:00	/usr/lib/courier-imap/couriertcpd
root	14643	0	0	2248	876	?	S	04:04	00:00	/bin/sh
root	2644	0	0	4840	880	?	S	juin-13	00:00	/usr/lib/courier-imap/couriertcpd
root	2662	0	0	4840	884	?	S	juin-13	00:00	/usr/lib/courier-imap/couriertcpd
root	14698	0	0	2248	884	?	S	04:04	00:00	sh
root	3592	0	0	4792	932	?	Ss	juin-13	00:00	crond
nobody	2403	0	0	11380	944	?	Ssl	juin-13	00:00	mDNSResponder
root	14047	0	0	2248	944	?	Ss	04:02	00:00	/bin/bash
root	2256	0	0,1	4396	1060	?	Ss	juin-13	00:00	/usr/sbin/sshd
root	2354	0	0,1	2216	1100	?	Ss	juin-13	00:00	/usr/sbin/automount
root	2481	0	0,1	4620	1232	?	S	juin-13	00:00	/bin/sh
qmaild	13443	0	0,1	3800	1424	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13449	0	0,1	3800	1424	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13455	0	0,1	3800	1424	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
10001	3092	0	0,1	4620	1428	pts/1	Ss	01:20	00:00	#NOM?
qmaild	13410	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13411	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13414	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13416	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13418	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13420	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13422	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13424	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13426	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13429	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13431	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13433	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13435	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13437	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13439	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13441	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13447	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13453	0	0,1	3800	1428	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13512	0	0,1	3800	1428	?	Ss	03:53	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13679	0	0,1	3800	1428	?	Ss	03:56	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13785	0	0,1	3800	1428	?	Ss	03:58	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13352	0	0,1	3800	1432	?	Ss	03:51	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13445	0	0,1	3800	1432	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13451	0	0,1	3800	1432	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13457	0	0,1	3800	1432	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
qmaild	13408	0	0,1	3800	1436	?	Ss	03:52	00:00	/var/qmail/bin/qmail-smtpd
root	3168	0	0,1	4728	1472	pts/1	R	01:21	00:00	bash
10001	3083	0	0,1	9112	1808	?	S	01:20	00:00	sshd:
root	14043	0	0,1	9012	1936	?	S	04:02	00:00	crond
root	3167	0	0,2	8308	2048	pts/1	S	01:21	00:00	su
root	14645	1,3	0,2	7020	2272	?	S	04:04	00:00	/usr/local/psa/admin/sbin/statistics
root	3073	0	0,2	8968	2508	?	Ss	01:20	00:00	sshd:
root	14699	0	0,2	4444	2712	?	R	04:04	00:00	/usr/bin/perl
postgres	2599	0	0,2	19724	3032	?	S	juin-13	00:00	/usr/bin/postmaster
root	14661	0,2	0,3	5460	3676	?	S	04:04	00:00	/usr/bin/perl
root	3630	0	0,3	5628	3720	?	Ss	juin-13	00:00	hald
root	3496	0	0,3	19592	4016	?	S	juin-13	00:00	/usr/sbin/httpd
apache	3497	0	0,4	19912	4268	?	S	juin-13	00:00	/usr/sbin/httpd
named	2235	0	0,4	41132	4336	?	Ssl	juin-13	00:18	/usr/sbin/named
apache	14597	0	0,6	28604	6692	?	S	04:04	00:00	/usr/sbin/httpd
root	3525	0	0,7	40552	7316	?	Ss	juin-13	00:00	/usr/local/psa/admin/bin/httpsd
apache	14483	0	1	31968	10380	?	S	04:03	00:00	/usr/sbin/httpd
apache	14240	0	1	31940	10480	?	S	04:02	00:00	/usr/sbin/httpd
apache	13566	0	1	32036	10596	?	S	03:54	00:00	/usr/sbin/httpd
apache	14595	0,1	1	32236	10716	?	S	04:04	00:00	/usr/sbin/httpd
apache	13567	0	1	31916	11056	?	S	03:54	00:00	/usr/sbin/httpd
apache	13564	0	1,1	32144	11284	?	S	03:54	00:00	/usr/sbin/httpd
root	3488	0	1,2	28604	13252	?	Ss	juin-13	00:07	/usr/sbin/httpd
drweb	3387	0	1,8	25844	19428	?	S	juin-14	00:00	/opt/drweb/drwebd
drweb	3388	0	1,9	25844	19468	?	S	juin-14	00:00	/opt/drweb/drwebd
drweb	3390	0	1,9	25844	19476	?	S	juin-14	00:00	/opt/drweb/drwebd
drweb	3389	0	1,9	25912	19580	?	S	juin-14	00:00	/opt/drweb/drwebd
drweb	3570	0	1,9	25844	20084	?	Ss	juin-13	01:22	/opt/drweb/drwebd
popuser	2789	0	2	27244	20556	?	S	juin-13	00:00	spamd
popuser	2790	0	2	27244	20556	?	S	juin-13	00:00	spamd
popuser	2791	0	2	27244	20556	?	S	juin-13	00:00	spamd
popuser	2792	0	2	27244	20556	?	S	juin-13	00:00	spamd
popuser	2788	0	2	27244	20688	?	S	juin-13	00:00	spamd
popuser	2786	0	2,2	27392	22536	?	Ss	juin-13	00:01	/usr/bin/spamd
psaadm	3529	0	2,4	43988	24960	?	S	juin-13	00:14	/usr/local/psa/admin/bin/httpsd
psaadm	3567	0	2,7	44016	28296	?	S	juin-13	00:14	/usr/local/psa/admin/bin/httpsd
mysql	2514	9,8	3,5	118904	35896	?	Sl	juin-13	202:43:00	/usr/libexec/mysqld

Merci beaucoup par avance ! :wink:
 
WRInaute occasionnel
Ça m'intéresse aussi, en fait avec tes règles le favicon sera servi par le léger et l'index php par le serveur 'lourd' ?

Tu peux paster un htaccess pour l'exemple ?
 
WRInaute passionné
Quitte à mettre un serveur léger en front, je préfère pour ma part y mettre quelque chose de nettement plus léger/rapide qu'Apache, comme un nginx ou lighttpd.

Ca demande un peu de rigueur pour éviter les soucis avec l'url rewriting, mais ça se passe plutôt bien.
 
WRInaute occasionnel
Bool a dit:
Quitte à mettre un serveur léger en front, je préfère pour ma part y mettre quelque chose de nettement plus léger/rapide qu'Apache, comme un nginx ou lighttpd.

Ca demande un peu de rigueur pour éviter les soucis avec l'url rewriting, mais ça se passe plutôt bien.

Perso j'utilise que lighttpd ...

Sinon vous conseillez quoi, lighty+ php4-cgi ou apache avec php en module ?


edit : j'ai trouvé ça d'intéressant : https://www.webrankinfo.com/forum/viewt ... htm#758267
 
WRInaute passionné
Je ne peux pas priver mes clients de l'accès aux fichiers .htaccess, du rewriting et autres facilités fournies par Apache.

Du coup j'ai du NginX en front, avec un Apache2-worker + fastcgi/suexec + php5-cgi derrière.
NginX se charge essentiellement de la gestion du keepalive, du traitement des images et autres fichiers statiques, la compression à la volée et Apache gère le reste.
 
WRInaute passionné
Voici la démarche Avec apache 1 (bien sur c'est applicable à apache 2). Tout d'abord il faut compiler 2 apaches (httpdl et httpdh par exemple).

httpdl sera notre serveur leger chargé de servir le html, les css, les js et les images. Cette instance d'apache sera compilée sans PHP mais avec le module mod-proxy. httpdl ecoute sur le port 80.

Dans son httpd.conf on veillera à ecrire pour chaque virtualHost :

Code:
RewriteEngine On
RewriteOptions 'inherit'
RewriteRule \.(gif|jpg|png|txt|css|js|html)$ - [last]
RewriteRule ^/(.*)$ http://www.domaine.com:8080/$1 [proxy]

httpdh sera notre serveur Lourd chargé de servir le PHP. Cette instance d'apache sera compilée avec mod-php. httpdh ecoute sur le port 8080.

Voici ce que cela donne ent terme de poids des processus sur l'un de mes serveurs (ici les serveurs sont apachelight et apachephp)

Code:
root     18679  0.0  0.4  2744 1184 ?        Ss   Jun06   0:16 /usr/local/apachelight/bin/httpd
root     16912  0.0  2.4 12904 5780 ?        Ss   Jun06   0:18 /usr/local/apachephp/bin/httpd
www-php  32173  0.0  3.4 13584 8172 ?        S    Jun10   2:41 /usr/local/apachephp/bin/httpd
www-php   8733  0.0  3.4 13756 8332 ?        S    Jun11   2:02 /usr/local/apachephp/bin/httpd
www-php  13000  0.0  3.4 13704 8208 ?        S    Jun11   2:01 /usr/local/apachephp/bin/httpd
www-php  20136  0.0  3.4 13736 8316 ?        S    Jun11   2:02 /usr/local/apachephp/bin/httpd
www-php   4837  0.0  3.4 13720 8300 ?        S    Jun11   2:01 /usr/local/apachephp/bin/httpd
www-php   5919  0.0  3.4 13656 8228 ?        S    Jun11   1:59 /usr/local/apachephp/bin/httpd
www-php   1404  0.0  3.4 13668 8220 ?        S    Jun11   1:57 /usr/local/apachephp/bin/httpd
www-php  23509  0.0  3.4 13748 8280 ?        S    Jun11   2:01 /usr/local/apachephp/bin/httpd
www-php  27700  0.0  3.4 13684 8268 ?        S    Jun11   1:57 /usr/local/apachephp/bin/httpd
www-php   2360  0.0  3.4 13664 8244 ?        S    Jun11   2:00 /usr/local/apachephp/bin/httpd
www-lig   4730  0.0  0.6  2964 1588 ?        S    Jun11   0:27 /usr/local/apachelight/bin/httpd
www-lig  28031  0.0  0.6  2968 1660 ?        S    Jun11   0:27 /usr/local/apachelight/bin/httpd
www-lig  25242  0.0  0.6  2968 1660 ?        S    Jun11   0:25 /usr/local/apachelight/bin/httpd
www-lig  24251  0.0  0.6  2968 1656 ?        S    Jun11   0:28 /usr/local/apachelight/bin/httpd
www-lig   8271  0.0  0.6  2964 1592 ?        S    Jun11   0:27 /usr/local/apachelight/bin/httpd
www-lig   6156  0.0  0.6  2968 1580 ?        S    Jun11   0:27 /usr/local/apachelight/bin/httpd
www-lig  32532  0.0  0.6  2968 1660 ?        S    Jun11   0:27 /usr/local/apachelight/bin/httpd
www-lig  20513  0.0  0.6  2964 1652 ?        S    Jun11   0:26 /usr/local/apachelight/bin/httpd
www-lig  16477  0.0  0.6  2968 1656 ?        S    Jun11   0:25 /usr/local/apachelight/bin/httpd
www-lig  29873  0.0  0.6  2968 1656 ?        S    Jun11   0:25 /usr/local/apachelight/bin/httpd


Il ne vous reste plus qu'a procéder aux réglages des paramétres de config de chacune des instances d'apache https://www.webrankinfo.com/forum/t/article-bien-configurer-apache.63439/ :wink:

Bool a écrit:
Quitte à mettre un serveur léger en front, je préfère pour ma part y mettre quelque chose de nettement plus léger/rapide qu'Apache, comme un nginx ou lighttpd.

ça, c'est une idiotie :wink: Lighty se suffit à lui même et il n'a pas besoin d'y adjoindre apache pour servir du PHP !
 
WRInaute passionné
Comme dit plus haut, je ne peux pas me permettre de supprimer certaines fonctionnalités d'Apache... Sinon c'est évident autant virer Apache.
 
Nouveau WRInaute
Merci à tous pour vos indications !
Malheureusement je ne suis pas un pro d'unix et les conf d'apache ont encore trop de secrets pour moi.
Y a t-il une solution plus simple comme modifier la config dans httpd.conf, car je ne sais pas pourquoi le serveur consomme 2/3 de la ram sans rien faire... :cry:
Par exemple, un free :
Code:
total       used       free     shared    buffers     cached
Mem:       1022868     797276     225592          0      63696     588484
-/+ buffers/cache:     145096     877772
Swap:       522104          0     522104

et un grep apache :
Code:
apache    3544  0.0  0.4  19912  4264 ?        S    04:15   0:00 /usr/sbin/httpd
apache   13832  0.0  1.2  34812 12940 ?        S    20:41   0:00 /usr/sbin/httpd
apache   17507  0.0  0.7  28604  7508 ?        S    21:06   0:00 /usr/sbin/httpd
apache   17515  0.0  1.0  32112 10380 ?        S    21:06   0:00 /usr/sbin/httpd
apache   17665  0.3  1.0  31896 10260 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17666  0.6  1.0  31972 11104 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17667  0.3  1.0  31880 10248 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17668  0.3  1.0  31880 10248 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17670  0.0  0.7  28604  7512 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17671  0.4  1.0  31880 10248 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17672  0.4  0.9  31868 10224 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17673  0.4  1.0  31868 10264 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17674  0.0  0.6  28604  6692 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17675  0.0  0.6  28604  6688 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17676  0.0  0.6  28604  6688 ?        S    21:07   0:00 /usr/sbin/httpd
apache   17677  0.0  0.6  28604  6688 ?        S    21:07   0:00 /usr/sbin/httpd
10001    17686  0.0  0.0   4016   664 pts/0    S+   21:07   0:00 grep apache

le uptime donne :
Code:
21:09:15 up 16:53,  1 user,  load average: 0.42, 0.33, 0.24

Merci encore. :lol:
 
Discussions similaires
Haut