NiCoS Posté 4 Janvier 2006 Posté 4 Janvier 2006 (modifié) Hello, Je sors d'une phase où j'ai eu un load average de 40 sur mon petit serveur Duron 1600 / 256 Mo RAM - et cela a l'air reparti pour un tour... Lors de cette phase, la swap était monté à plus de 300 Mo mais le CPU était peu utilisé (étrangement) sd716:/var/log/mysql# toptop - 13:26:15 up 13 days, 5:40, 1 user, load average: 1.42, 1.04, 1.35Tasks: 106 total, 2 running, 102 sleeping, 0 stopped, 2 zombieCpu(s): 17.9% us, 32.9% sy, 0.0% ni, 45.8% id, 3.0% wa, 0.0% hi, 0.3% siMem: 236684k total, 225756k used, 10928k free, 2572k buffersSwap: 514040k total, 76020k used, 438020k free, 119136k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND12121 mysql 16 0 122m 33m 4288 S 43.9 14.4 2:12.27 mysqld14944 www-data 17 0 0 0 0 Z 1.7 0.0 0:00.54 apache2 <defunct>15050 www-data 17 0 0 0 0 Z 1.3 0.0 0:00.28 apache2 <defunct>15089 www-data 16 0 60600 14m 9220 S 1.0 6.2 0:00.43 apache215075 root 16 0 2200 1124 848 R 0.3 0.5 0:00.05 top 1 root 16 0 1880 372 344 S 0.0 0.2 0:02.03 init Dans apache2.conf, j'ai : #Timeout 300Timeout 180# KeepAlive: Whether or not to allow persistent connections (more than# one request per connection). Set to "Off" to deactivate.KeepAlive On# MaxKeepAliveRequests: The maximum number of requests to allow# during a persistent connection. Set to 0 to allow an unlimited amount.# We recommend you leave this number high, for maximum performance.MaxKeepAliveRequests 100# KeepAliveTimeout: Number of seconds to wait for the next request from the# same client on the same connection.# KeepAliveTimeout 15KeepAliveTimeout 5<IfModule prefork.c>StartServers 15MinSpareServers 10MaxSpareServers 15MaxClients 80MaxRequestsPerChild 5</IfModule> et au niveau de MySQL, je suis en version 4.1 avec les options suivantes ajoutées à la conf par défaut de debian que j'avais trouvé à droite et à gauche: # QQS optimisations :set-variable = connect_timeout=20set-variable = max_connections=200set-variable = long_query_time=10set-variable = thread_cache_size=20set-variable = table_cache=128set-variable = join_buffer_size=512Kset-variable = myisam_sort_buffer_size=32Mset-variable = record_buffer=256Kset-variable = read_rnd_buffer_size=256K# Here you can see queries with especially long durationlog-slow-queries = /var/log/mysql/mysql-slow.log Des idées d'amélioration ??? Car la surcharge ne vient pas du trafic en lui même, mrtg annonce un trafic tout à fait normal. Merci d'avance, Nicolas Modifié 4 Janvier 2006 par NiCoS
Dan Posté 4 Janvier 2006 Posté 4 Janvier 2006 Si le CPU ne monte pas, c'est que cela freine au niveau du disque. As-tu activé le mode DMA (si c'est de l'IDE) ?
NiCoS Posté 4 Janvier 2006 Auteur Posté 4 Janvier 2006 A priori oui : sd716:~# hdparm /dev/hda/dev/hda: multcount = 16 (on) IO_support = 1 (32-bit) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/16/63, sectors = 80293248, start = 0 sd716:~# hdparm -tT /dev/hda/dev/hda: Timing cached reads: 968 MB in 2.00 seconds = 483.00 MB/sec Timing buffered disk reads: 114 MB in 3.01 seconds = 37.90 MB/sec et sd716:~# hdparm -i /dev/hda/dev/hda: Model=Maxtor 6E040L0, FwRev=NAR61EA0, SerialNo=E1RHE5HE Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80293248 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: disabled (255) WriteCache=enabled Drive conforms to: (null): ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7 * signifies the current active mode
Dan Posté 4 Janvier 2006 Posté 4 Janvier 2006 A l'examen de ta configuration Apache, je vois que le MaxRequesPerChild est plutôt bas... Sur le serveur du Hub j'ai mis 50, ce qui permet d'éviter de trop re-lancer de process httpd. 5 est vraiment faible, tu gagnerais à l'augmenter Dan
NiCoS Posté 4 Janvier 2006 Auteur Posté 4 Janvier 2006 (modifié) Ok vais essayer ça pour voir, merci ! Modifié 4 Janvier 2006 par NiCoS
NiCoS Posté 4 Janvier 2006 Auteur Posté 4 Janvier 2006 arf c'est reparti top - 18:41:16 up 13 days, 10:55, 1 user, load average: 45.93, 43.57, 31.97Tasks: 161 total, 1 running, 160 sleeping, 0 stopped, 0 zombieCpu(s): 8.8% us, 1.6% sy, 3.3% ni, 77.2% id, 8.5% wa, 0.2% hi, 0.3% siMem: 236684k total, 233104k used, 3580k free, 820k buffersSwap: 514040k total, 271828k used, 242212k free, 27308k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 71 root 10 -5 0 0 0 S 0.3 0.0 2:15.10 kblockd/0 163 root 15 0 0 0 0 D 0.3 0.0 2:22.42 kswapd025390 www-data 17 0 60956 10m 7032 D 0.3 4.4 0:01.21 apache225674 www-data 17 0 81484 11m 9.8m D 0.3 4.9 0:00.89 apache2 1 root 16 0 1880 360 340 S 0.0 0.2 0:02.08 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.26 ksoftirqd/0 4 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/0 5 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper 6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread 8 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid 164 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0 165 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 xfslogd/0 166 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 xfsdatad/0 167 root 15 0 0 0 0 S 0.0 0.0 0:07.94 xfsbufd 754 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod 843 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0 852 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 exec-osm/0 860 root 15 0 0 0 0 D 0.0 0.0 0:05.29 kjournald 1034 root 15 0 0 0 0 S 0.0 0.0 0:00.00 kjournald 1035 root 15 0 0 0 0 D 0.0 0.0 1:23.48 kjournald 1036 root 15 0 0 0 0 D 0.0 0.0 0:10.04 kjournald 1467 daemon 16 0 1704 208 208 S 0.0 0.1 0:00.00 portmap 1616 root 17 0 1644 440 360 D 0.0 0.2 0:37.74 syslogd 1622 root 16 0 2980 380 328 S 0.0 0.2 0:03.41 klogd 1636 bind 18 0 31312 1304 876 S 0.0 0.6 1:01.65 named 1660 root 17 0 1764 280 280 S 0.0 0.1 0:00.00 courierlogger 1661 root 17 0 1872 288 276 S 0.0 0.1 0:00.04 authdaemond.pla 1663 root 17 0 2084 396 360 S 0.0 0.2 0:00.44 authdaemond.pla 1664 root 16 0 2084 376 348 S 0.0 0.2 0:00.48 authdaemond.pla 1665 root 17 0 2084 368 344 S 0.0 0.2 0:00.57 authdaemond.pla 1666 root 17 0 2084 396 360 S 0.0 0.2 0:00.39 authdaemond.pla 1667 root 16 0 2084 388 360 S 0.0 0.2 0:00.37 authdaemond.pla 1672 root 15 0 1868 280 280 S 0.0 0.1 0:00.00 couriertcpd 1675 root 15 0 1764 284 284 S 0.0 0.1 0:00.00 courierlogger 1680 root 16 0 1864 308 300 S 0.0 0.1 0:01.15 couriertcpd 1683 root 16 0 1764 296 292 S 0.0 0.1 0:01.41 courierlogger 1688 root 20 0 1588 256 256 S 0.0 0.1 0:00.00 inetd 1946 root 17 0 1868 332 332 S 0.0 0.1 0:00.82 smartd 1952 root 16 0 4608 380 348 S 0.0 0.2 0:08.44 sshd 1995 root 16 0 3000 404 404 S 0.0 0.2 0:00.00 famd et un autre : top - 18:42:31 up 13 days, 10:56, 1 user, load average: 38.48, 42.07, 32.36Tasks: 161 total, 1 running, 160 sleeping, 0 stopped, 0 zombieCpu(s): 2.7% us, 0.7% sy, 0.0% ni, 0.0% id, 95.7% wa, 1.0% hi, 0.0% siMem: 236684k total, 233268k used, 3416k free, 3304k buffersSwap: 514040k total, 275656k used, 238384k free, 30684k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND12121 mysql 17 0 141m 18m 2236 D 0.7 8.0 7:29.92 mysqld 71 root 10 -5 0 0 0 S 0.3 0.0 2:15.15 kblockd/025260 www-data 17 0 61256 10m 7120 S 0.3 4.3 0:01.96 apache225427 www-data 17 0 60464 8488 5976 D 0.3 3.6 0:01.10 apache225431 www-data 16 0 60540 9496 6936 D 0.3 4.0 0:00.74 apache225443 www-data 17 0 61184 9m 7020 D 0.3 4.3 0:01.76 apache225491 www-data 17 0 60824 9056 6632 S 0.3 3.8 0:01.23 apache225496 www-data 15 0 72064 9660 7172 D 0.3 4.1 0:02.84 apache225572 www-data 16 0 61216 10m 8028 D 0.3 4.6 0:00.83 apache225634 www-data 17 0 72088 10m 6168 D 0.3 4.4 0:01.72 apache225642 www-data 16 0 62416 9784 6348 D 0.3 4.1 0:01.41 apache225652 www-data 17 0 60484 9040 6788 D 0.3 3.8 0:02.47 apache225661 www-data 16 0 60472 9804 6800 S 0.3 4.1 0:01.84 apache2
Dan Posté 4 Janvier 2006 Posté 4 Janvier 2006 Il faut revoir tous tes paramètres à la baisse... dont le nombre de "spare servers" J'avais mal lu la RAM dispo... 230Mb c'est peu, j'avais lu 2.3GB Et tu as plus de swap que de RAM disponible.. pas top !
NiCoS Posté 4 Janvier 2006 Auteur Posté 4 Janvier 2006 (modifié) Vais tenter avec ça, cela te parait-il cohérent ? StartServers 5MinSpareServers 5MaxSpareServers 10MaxClients 20# http://www.webmaster-hub.com/index.php?showtopic=20278MaxRequestsPerChild 20 et #Timeout 300Timeout 60# KeepAlive: Whether or not to allow persistent connections (more than# one request per connection). Set to "Off" to deactivate.KeepAlive On# MaxKeepAliveRequests: The maximum number of requests to allow# during a persistent connection. Set to 0 to allow an unlimited amount.# We recommend you leave this number high, for maximum performance.MaxKeepAliveRequests 50# KeepAliveTimeout: Number of seconds to wait for the next request from the# same client on the same connection.KeepAliveTimeout 15 pour la ram, vais voir pour en rajouter Modifié 4 Janvier 2006 par NiCoS
Dan Posté 4 Janvier 2006 Posté 4 Janvier 2006 Le MAxClients me semble trop faible... si tu utilise tous les serveurs, Apache ne répondra plus.
NiCoS Posté 4 Janvier 2006 Auteur Posté 4 Janvier 2006 Que mettrais tu ? As tu une règle permettant de définir l'ensemble de ces valeurs de façon cohérente, j'avoue que ca m'échappe un peu...
NiCoS Posté 5 Janvier 2006 Auteur Posté 5 Janvier 2006 UP car même si les surcharges sont un peu moins fréquentes et nettement moins élevées, j'en ai encore
Dan Posté 5 Janvier 2006 Posté 5 Janvier 2006 Attention au post bumping, il est interdit sur le Hub ! A part augmenter la RAM, ce qui permettrait au serveur de moins swapper et de ce fait chargerait moins les disques, je ne vois pas ce que tu pourrais optimiser. Le fait de passer à 512MB voire 1GB de RAM résoudrait tous tes problèmes de charge à mon avis. Baisser trop les valeurs d'Apache risquerait de rendre le serveur inaccessible, parce qu'il ne permettrait pas de requêtes supplémentaires si le MaxClients est atteint, tant qu'un process ne se libère pas. Dan
NiCoS Posté 5 Janvier 2006 Auteur Posté 5 Janvier 2006 Ok merci, je suis passé à MaxClients à 30 et idem pour MaxRequestPerChild - on va voir si c'est mieux ou pire demain. Pour la Ram, je fais la collecte des fonds Merci bien en tous cas pour tes réponses
NiCoS Posté 11 Janvier 2006 Auteur Posté 11 Janvier 2006 Bon on a trouvé, cela venait de bloglines et des raffraichissement de flux rss. On a déporté les flux sur rsscache.com et le serveur s'en trouve nettement allégé
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant