[article] Faire évoluer son architecture serveur
36 messages • Page 3 sur 3 • 1, 2, 3
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
raljx a écrit:Une solution a mon gout plus performante qu'un load balancing sur des BDD est d'avoir 2 mysql (1 maitre et un esclave) le maitre synchronise sur l'esclave, on fait les requestes INSERT et UPDATE sur le maitre et les SELECT sur le slave, on gagne enormement en perf avec un tres gros trafic (+100 000 VU/mois). Le loadbalancing etant plus optimum pour des gestions de charges sur des serveurs web.
Oui, suite à mon post je me suis documenté et j'ai trouvé une documentation sql extra en anglais qui explique comment utiliser l'architecture maitre esclave que tu décris : http://www.mysql.com/why-mysql/white-pa ... aleout.php
fandecine a écrit:Je vois que tu utilise apache avec les modules chargés en dynamique, tu peux aussi recompiler apache avec ses modules en statique (aprés bien sur avoir sélectionné les modules utiles !) et tu diminuera encore la taille de tes process apache.
Par curiosité, peut tu nous donner l'extrait de ta conf apache qui décrit les modules à charger ?
Comment vois tu que j'utilises apache avec des modules dynamiques (c'est vrai mais je comprends pas comment tu peux le voir avec mon message) ?
Sinon je complète mon retour d'expérience. En fait j'étais bien content au début mais j'ai passé ma journée à recomipler php car petit à petit je me suis rendu compte qu'il y avait certaines fonctions que j'utilisais s'en le savoir.
J'ai bien lutté pour remettre en route eAccelerator, recompiler les libjpeg et freetype2 pour gd et jpgraph.
Mais c'est une expérience trés intéressante qui apprend beaucoup de chose.
Je me suis notamment rendu compte que c'était eAccelerator qui gonflait la taille des thread apache.
Au final, la recompilation de php m'a fait gagné 7M contrairement à ce que je disais dans mon premier post.
Je reposte mon .configure final
- Code: Tout sélectionner
./configure --with-apxs2=/usr/sbin/apxs --with-mysql --with-config-file-path=/etc --enable-mbstring --disable-ftp --disable-wddx --disable-filter --without-iconv --disable-json --disable-hash --disable-tokenizer --disable-pdo --disable-posix --disable-reflection --disable-spl --without-sqlite --without-pear --disable-xml --disable-libxml --disable-simplexml --disable-xmlreader --disable-xmlwriter --disable-zip --disable-ctype --disable-dom --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-ttf=/usr --with-freetype-dir=/usr --disable-magic-quotes
Et voici pour apache :
- Code: Tout sélectionner
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_default_module modules/mod_authz_default.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule logio_module modules/mod_logio.so
#LoadModule env_module modules/mod_env.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule deflate_module modules/mod_deflate.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
#LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule suexec_module modules/mod_suexec.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
#LoadModule cgi_module modules/mod_cgi.so
#
# The following modules are not loaded by default:
#
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule asis_module modules/mod_asis.so
LoadModule php5_module /usr/lib/httpd/modules/libphp5.so
sietjp a écrit:Comment vois tu que j'utilises apache avec des modules dynamiques (c'est vrai mais je comprends pas comment tu peux le voir avec mon message) ?
c'est cette option de ton configure : --with-apxs2=/usr/sbin/apxs
Pour ce qui est de la taille de tes processus apache, il y a aussi GD, Freetype, libjpg etc ... tout ce qui concerne les librairies graphiques qui plombe les processus.
Personellement, je ne les utilise que sur le serveur secondaire (celuis avec mysql et les images). C'est ce serveur qui abrite mes outils d'admin et qui effectuent les traitement d'images. Le serveur de principal est ainsi "allégé". De plus il ne sert que des fichier dynamiques (php) et un seul par connection (keepalive off).
Du coup j'ai essayé de patcher apache avec lingerd pour liberer la connection encore plus rapidement mais j'ai une erreur lors de l'application du patch. J'ai maillé à l'auteur lingerd et j'attend la réponse car je n'arrive pas à trouver d'ou vient l'erreur
Ensuite, je n'utilise pas eaccerator, mais Zend optimiser + Memcache qui est un daemon de gestion de memoire partagé. Bien entendu, la gestion de cette mémoire partagée n'est pas automatique mais écrite dans mon code.
Voici un extrait de la liste des processus du serveur principal :
- Code: Tout sélectionner
www 13319 0.0 0.4 76796 4992 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13320 0.0 0.4 76796 4588 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13321 0.0 0.4 76796 4556 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13322 0.0 0.4 76796 4576 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13323 0.0 0.4 76796 4576 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13324 0.0 0.4 76796 4996 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13325 0.0 0.4 76796 4592 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13326 0.0 0.4 76796 4604 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13327 0.0 0.4 76796 4580 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13328 0.0 0.4 76796 4984 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13329 0.0 0.4 76796 4992 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13330 0.0 0.4 76796 4996 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13331 0.0 0.4 76796 4992 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13332 0.0 0.4 76796 4984 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13333 0.0 0.4 76796 4580 ? S Jan09 0:00 /usr/local/apache/bin/httpd
www 13334 0.0 0.4 76796 5004 ? S Jan09 0:00 /usr/local/apache/bin/httpd
Et du serveur secondaire :
- Code: Tout sélectionner
www 18703 0.0 0.4 11052 4460 ? S Jan11 0:00 /usr/local/bin/php-cgi
www 18704 0.0 0.4 11052 4460 ? S Jan11 0:00 /usr/local/bin/php-cgi
www 18705 0.0 0.4 11056 4476 ? S Jan11 0:00 /usr/local/bin/php-cgi
www 18706 0.0 0.4 11056 4404 ? S Jan11 0:00 /usr/local/bin/php-cgi
www 18707 0.0 0.4 11052 4348 ? S Jan11 0:00 /usr/local/bin/php-cgi
www 23965 0.0 0.2 38452 2524 ? Sl 06:25 0:00 /usr/local/sbin/lighttpd
root 30767 0.0 0.1 3660 1292 ? S 2007 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
mysql 30794 0.1 6.3 365380 65080 ? Sl 2007 29:18 /usr/local/mysql/libexec/mysqld
www 31000 0.0 0.3 10964 3996 ? Ss 2007 0:00 /usr/local/bin/php-cgi
Chacun des serveurs ayant 1Go de mem.
Avant de chercher à recompiler apache en sélectionnant les modules apache, il faut savoir à quoi ils servent
Voici la liste des modules standarts apache 1.3 :
mod_access : Contrôle d'accès basé sur le nom du client ou son adresse IP
mod_alias : Association de différentes parties du système de fichier de l'hôte dans l'arborescence des documents, et redirection des URL.
mod_asis : Envoi de fichiers contenant leurs propres en-têtes HTTP
mod_auth : Authentification des utilisateurs à partir d'un fichier texte
mod_auth_dbm : Authentification des utilisateurs à partir d'un fichier DBM
mod_autoindex : Création automatique des listes des répertoires
mod_cgi : Appel des scripts CGI
mod_dir : Gestion de base des répertoires
mod_env : Passage d'environnement aux scripts CGI
mod_expires : Ajout de l'en-tête Expires: pour les ressources spécifiées
mod_headers : Ajout d'en-têtes HTTP aux ressources
mod_imap : Gestion des fichiers imagemap
mod_include : Documents analysés par le serveur
mod_info : Informations sur la configuration du serveur
mod_log_agent : Trace des User Agents
mod_log_config : Trace configurable des accès.
mod_log_referer : Trace des référants d'un document
mod_mime : Détermination du type des documents en fonction de l'extension du fichier
mod_mime_magic : Détermination du type des documents en fonction de "nombres magiques"
mod_negotiation :Négotiation de contenu
mod_proxy : Module de cache par proxy
mod_rewrite : Association des URI à des fichiers en utilisant des expressions régulières
mod_setenvif : Définition de variables d'environnement en fonction des informations client
mod_so : Support des modules dynamiques
mod_status : Affichage de l'état du système
mod_userdir :Répertoires personnels d'utilisateurs
mod_unique_id : Génération d'identifiants uniques de requête
mod_usertrack : Suivi des utilisateurs à l'aide de cookies
mod_vhost_alias : Support d'hôtes virtuels dynamiquement configurables
ensuite, étant donné que je n'ai pas encore ouvert de site pour publier mes tutos
tu m'envois un MP avec ta configuration (OS, processeur, mémoire disqu etc) et tes souhaits d'application et je te renvois un tuto sur mesure 
Voici la liste des modules standarts apache 1.3 :
mod_access : Contrôle d'accès basé sur le nom du client ou son adresse IP
mod_alias : Association de différentes parties du système de fichier de l'hôte dans l'arborescence des documents, et redirection des URL.
mod_asis : Envoi de fichiers contenant leurs propres en-têtes HTTP
mod_auth : Authentification des utilisateurs à partir d'un fichier texte
mod_auth_dbm : Authentification des utilisateurs à partir d'un fichier DBM
mod_autoindex : Création automatique des listes des répertoires
mod_cgi : Appel des scripts CGI
mod_dir : Gestion de base des répertoires
mod_env : Passage d'environnement aux scripts CGI
mod_expires : Ajout de l'en-tête Expires: pour les ressources spécifiées
mod_headers : Ajout d'en-têtes HTTP aux ressources
mod_imap : Gestion des fichiers imagemap
mod_include : Documents analysés par le serveur
mod_info : Informations sur la configuration du serveur
mod_log_agent : Trace des User Agents
mod_log_config : Trace configurable des accès.
mod_log_referer : Trace des référants d'un document
mod_mime : Détermination du type des documents en fonction de l'extension du fichier
mod_mime_magic : Détermination du type des documents en fonction de "nombres magiques"
mod_negotiation :Négotiation de contenu
mod_proxy : Module de cache par proxy
mod_rewrite : Association des URI à des fichiers en utilisant des expressions régulières
mod_setenvif : Définition de variables d'environnement en fonction des informations client
mod_so : Support des modules dynamiques
mod_status : Affichage de l'état du système
mod_userdir :Répertoires personnels d'utilisateurs
mod_unique_id : Génération d'identifiants uniques de requête
mod_usertrack : Suivi des utilisateurs à l'aide de cookies
mod_vhost_alias : Support d'hôtes virtuels dynamiquement configurables
ensuite, étant donné que je n'ai pas encore ouvert de site pour publier mes tutos
Pour essayer d'en faire profiter tout le mode jme suis installé un wiki, rapide a mettre en place et simple pour rédiger (-www.ronux.fr/wiki)
Sinon on pourrait prendre un exemple assez commun :
Debian etch sur un petit serveur comme un kimsufi ou dedibox fesant tourner un blog/wiki/annuaire
EDIT : j'ai relu , en fait il faudrai plutot compiler php non ?
EDIT 2 : bon j'ai trouver les 36 modules a laisser en place , la liste expliquée des modules et je sais ceux dont j'ai besoin , maintenant comment on configure avant de faire le make ?
EDIT 3 : bon ben jvais adopter lighttpd , ca peut etre utile de compiler php quand meme ?
Merci beaucoup
Sinon on pourrait prendre un exemple assez commun :
Debian etch sur un petit serveur comme un kimsufi ou dedibox fesant tourner un blog/wiki/annuaire
EDIT : j'ai relu , en fait il faudrai plutot compiler php non ?
EDIT 2 : bon j'ai trouver les 36 modules a laisser en place , la liste expliquée des modules et je sais ceux dont j'ai besoin , maintenant comment on configure avant de faire le make ?
EDIT 3 : bon ben jvais adopter lighttpd , ca peut etre utile de compiler php quand meme ?
Merci beaucoup
36 messages • Page 3 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Stratégies financières sur l'évolution de l'architecture Google
- L'infrastructure technique de Google (Juillet 2006)
- Comment créer une page web en PHP
- Article sur le fichier .htaccess
- Explications sur le Crawl Caching Proxy de Google
- Yahoo déclare-t-il la guerre aux référenceurs ?
- Gestion des langues et des sessions en PHP / MySQL
- Changements de nom de domaine et TrustRank
- Changer d'hébergeur web sans pénaliser son référencement
- La Google Dance : description...
- [article] Sécuriser son serveur LAMP
- [article] Optimiser son serveur dédié
- [Article] Lighttpd et apache sur le même serveur II
- [article] Optimiser son serveur dedié part II
- Article sur la sécurisation d'un site web (et du serveur)
- faire un lien vers un article dans un flux RSS
- Qui veut faire un article sur VOD/DVD pour RadioFrance.fr ?
- [article] Comment faire des liens en dur dans son annuaire
- Url Rewriting article par article
- article-nom-article.html.php VS article-12-5.php
- Changement de serveur: que faire?
- Faire ue image de son serveur
- un serveur dédié, comment faire, que choisir?
- Faire communiquer 2 serveur entre eux
- Faire passer le serveur pour qqn...
Consultez la description détaillée des produits ou services de Google suivants : Google Web Accelerator
- La classe C de l'adresse IP
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur). - Test du code HTTP d'une page
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum