serveur lent

serveur lent - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 10-10-2012 à 11:04:46    

Hello :hello:  
 
j'ai un serveur DELL PowerEdge R515, j'avais des ralentissements au niveau de la base de donnée, par exemple pour effectuer une grosse requête ça prenait 50s.
Dessus il y a une debian 5, My SQL 5, ZEND et du PHP
 
J'ai demandé à DELL de l'améliorer et maintenant j'ai dessus 2 processeurs AMD Opteron 4122 (2,2GHz, 4C,Cache 3M L2/6M L3, TDP 95W)DDR3 1333MHz et 32 Go de mémoire (Mémoire Module pour Dell PowerEdge R515 - DDR3-1333 UDIMM LV 2RX8 ECC) ! Le truc c'est que même après ça la requête prend toujours 50s !
 
Pourtant le serveur (en Débian 5) prends bien en compte les 2 processeurs et My SQL 5 a bien été configuré.
Quant on lance la requête on voit les "8" processeurs mais un seul qui tourne à 100%
 
Il faut noter aussi que j'ai un serveur chez OVH :
http://www.ovh.com/fr/serveurs_ded [...] est_of.xml
avec la même configuration (qui sert à faire des tests) et la même requête prends moins de temps (dans les 30s)
 
J'ai appelé le service technique de DELL et ils me disent que ce n'est pas normal qu'on ai pas gagné au moins un peu de temps !
 
Qu'en pensez vous ? est-ce que rajouter un pross ne servait à rien ? il faudrait changer autre chose (pross, DD, ...) ?


Message édité par DavidUL le 10-10-2012 à 11:05:07
Reply

Marsh Posté le 10-10-2012 à 11:04:46   

Reply

Marsh Posté le 10-10-2012 à 11:22:12    

Slt,
Question idiote, ton OS Debian 5 "lenny", c'est bien une version amd64 bit ?  
et non ia64 ? ou i386 ?
 
Les deux environnements ont ils les memes config?distrib et version ?

Reply

Marsh Posté le 10-10-2012 à 11:29:29    

salut
 
comment je peux voir ça ?
 
sinon la conf matériel n'est pas la même justement sinon pour le reste oui, debian 5 et même mysql et tout

Reply

Marsh Posté le 10-10-2012 à 11:53:24    

Linux lightyear2 2.6.26-2-amd64 #1 SMP Mon Jun 13 16:29:33 UTC 2011 x86_64 GNU/Linux
 
visiblement c'est bon !

Reply

Marsh Posté le 10-10-2012 à 14:43:12    

question bête : est-ce que l'environnement complet est validé sur du multiprocesseur ?
 
Je veux dire que le noyau linux, le moteur SQL etc etc sont dans des versions qui prennent correctement en compte le multiprocesseur.
Je suppose que oui mais c'est toujours bien de s'en assurer :)
 
Surtout quand tu dis qu'un seul proc est utilisé...
 
Tu as quoi comme outil pour monitorer les CPU ?

Reply

Marsh Posté le 10-10-2012 à 15:02:07    

je pense que oui car justement 8 processeurs apparaissent (2*4)
j'utilise la commande htop
 
mais je me suis mal exprimé, pour une requête un seul pross tourne à la fois mais ça peut être une fois le 1, une autre le 7 ou le 6, etc...
et quand j'en lance plusieurs à la fois plusieurs tournent !
donc tous fonctionnent bien, c'est juste que ça n'a pas franchement amélioré les performances pour une requête
 
sinon donc la debian prend bien le multipross et pour mysql normalement le nécessaire a été fait :

Citation :

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock
 
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
 
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0
 
[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /home/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
 
 
# add adinovia rpl / MASTER CONF
server-id   = 1
log-bin = mysql-bin
binlog-do-db=protilab_zf
binlog-do-db=protilab_zf_cube
binlog-do-db=mantis
binlog_ignore_db=mysql
binlog_ignore_db=ppprotilab
binlog_ignore_db=ppprotilab-cube
 
 
 
 
# * Fine Tuning
#
key_buffer              = 256M
max_allowed_packet      = 32M
thread_stack            = 128K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover          = BACKUP
max_connections         = 200
table_cache             = 512
thread_concurrency      = 4
wait_timeout            = 180
#net_read_timeout=480
#net_write_timeout=480
 
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
 
sort_buffer_size        = 2M
read_buffer_size        = 2M
read_rnd_buffer_size    = 4M
myisam_sort_buffer_size = 64M
join_buffer             = 1M
 
 
 
 
#server-id              = 1
log_bin                 = /home/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
 
innodb_buffer_pool_size=512M
innodb_additional_mem_pool_size=20M
innodb_log_file_size=64M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
innodb_file_per_table
 
 
 
 
[mysqldump]
quick
quote-names
max_allowed_packet      = 16M
 
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
 
[isamchk]
key_buffer              = 16M
 
#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
 
 
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
 

Reply

Marsh Posté le 10-10-2012 à 22:33:41    

Heuu, question con, mais avant de faire flamber la CB t'as tracé ce qui pêchait lors de ta requête ?
 
Si ca se trouve, c'est le disque qui est au taquet, ou la RAM en quantité insuffisante, ou la config de ton Mysql inadaptée au hardware, ou ta base mal indexée, etc ...

Reply

Marsh Posté le 10-10-2012 à 23:15:14    

vérifier les accès disques pendant le travail ?

Reply

Marsh Posté le 10-10-2012 à 23:29:56    

Grapher les I/O disques, ressortir les iostat du serveur a intervalles réguliers pendant que la base tourne, voir comment la RAM est utilisée par mysqld , faire un explain sur la requête en question ...
 
Enfin je dis ca je dis rien ...

Reply

Marsh Posté le 11-10-2012 à 10:01:59    

c'est DELL qui m'avais conseillé de faire ça...
 
pour la RAM 32 Go je pense que ça devrait aller ? lol
 
pour surveiller l'accès au disque j'avoue que je ne sais pas comment faire ?

Reply

Marsh Posté le 11-10-2012 à 10:01:59   

Reply

Marsh Posté le 11-10-2012 à 11:26:18    

ton stockage est sur quoi ?


---------------
Ustea ez da jakitea
Reply

Marsh Posté le 11-10-2012 à 11:39:42    

3 DD en RAID  des SATA (7 200 tr/min)

Reply

Marsh Posté le 11-10-2012 à 11:47:07    

faut des admins Linux :)

Reply

Marsh Posté le 11-10-2012 à 11:55:01    

DavidUL a écrit :

3 DD en RAID  des SATA (7 200 tr/min)


Et Dell t'as pas dit de mettre du SAS6G 10K au min ?
C'est du Raid 5 ?


Message édité par wonee le 11-10-2012 à 11:55:18

---------------
Ustea ez da jakitea
Reply

Marsh Posté le 11-10-2012 à 12:02:12    

oui c'est du RAID 5
 
DELL me dit que ce n'est pas normal qu'en ayant mis un pross en + j'ai ce problème, je voulais avoir vos avis, par exemple j'ai vu sur le net qu'apache 2 ne prenait pas forcément en compte le multipross
 

Reply

Marsh Posté le 11-10-2012 à 12:12:48    

ouais je doute bien que c'est pas Hard mais plus un pb soft


---------------
Ustea ez da jakitea
Reply

Marsh Posté le 11-10-2012 à 12:43:05    

en fait je me demande si deux processeurs peuvent vraiment faire gagner du temps sur une requête ? à la limite ça va faire gagner du temps s'il y a plusieurs utilisateurs à la fois mais pas pour une personne sur une requête ?
 
ce que je voulais savoir c'est ce que je peux faire pour vraiment gagner en performance, changer de pross ? les DD ?

Reply

Marsh Posté le 11-10-2012 à 12:58:09    

DD pas photo....
Ta base est grosse ?


---------------
Ustea ez da jakitea
Reply

Marsh Posté le 11-10-2012 à 13:40:17    

/swt
 
Audite ta requête et le comportement de ta machine pendant celle ci, sérieux.
 
Y'a pas un admin Linux décent dans ta boite ?

Reply

Marsh Posté le 11-10-2012 à 14:52:06    

+1 ce genre de problématique, ça peut être assez casse tête à trouver quand il faut vérifier l'archi complète. Un admin linux / admin BdD devrait pouvoir déjà donner des éléments...

Reply

Marsh Posté le 11-10-2012 à 15:00:59    

je sais on a un sous-traitant, moi je suis + orienté windows, mais bon j'aime bien chercher un peu...
 
sinon oui la base est assez grosse quand même...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed