IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Problème de déconnexions intempestives d'utilisateurs


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut Problème de déconnexions intempestives d'utilisateurs
    Bonjour,


    Nous avons développé une application en PHP qui supporte actuellement environ 2000 utilisateurs par jour avec chaque jour un pic d’activité à 1600 utilisateurs en l’espace de 30 minutes. Le reste de la journée, il y a environ 500 utilisateurs connectés en moyenne.
    L’application semble avoir correctement fonctionnée pendant plusieurs mois mais depuis quelques semaines nous avons des utilisateurs qui se plaignent de déconnexions intempestives.
    A noter que le nombre d’utilisateurs semble s’être légèrement accru pour passer de 1600 à 2000.
    Les utilisateurs qui se font déconnecter reçoivent deux types de messages dans leurs navigateurs :
    - Type 1 : Internet explorer ne peut pas afficher cette page web
    - Type 2 : l’accès au serveur de données est impossible. Merci de réessayer ultérieurement

    L’environnement technique est le suivant :
    - PHP 4
    - MY SQL version 5.0.52
    - APACHE 2.0
    - Windows 2003, sp3
    Ces différents éléments sont installés sur une même machine.

    Physical memory (K)
    Total : 4193500
    Available : 3225892
    System cache : 2111156

    Le fichier log de MySQL ne comporte aucune erreur.
    Par contre, le fichier log Apache comporte de nombreuses erreurs récurrentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    [Thu Mar 08 09:13:23 2012] [error] [client XX.XXX.XXX.X] PHP Warning:  mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\XXX\\XXX_stat\\lib\\sgbd\\mysql.class.php on line 60, referer: http://XXXXX.XX.fr.cly/XXX/lXXX_stat/index.php?page=3
    FATAL:  erealloc():  Unable to allocate 90112 bytes
    [Thu Mar 08 09:14:07 2012] [notice] Parent: child process exited with status 1 -- Restarting.
    [Thu Mar 08 09:14:07 2012] [notice] Parent: Created child process 4196
    [Thu Mar 08 09:14:07 2012] [notice] Disabled use of AcceptEx() WinSock2 API
    [Thu Mar 08 09:14:07 2012] [notice] Child 4196: Child process is running
    [Thu Mar 08 09:14:07 2012] [notice] Child 4196: Acquired the start mutex.
    [Thu Mar 08 09:14:07 2012] [notice] Child 4196: Starting 350 worker threads.
    [Thu Mar 08 09:14:07 2012] [notice] Child 4196: Listening on port 80.
    [Thu Mar 08 09:14:33 2012] [error] [client XX.XXX.XXX.X] PHP Warning:  mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\XXX\\lib\\sgbd\\mysql.class.php on line 62, referer: http://XXXXX.XX.fr.cly/XXX/lXXX_stat/index.php?page=3
    [Thu Mar 08 09:14:33 2012] [error] [client XX.XXX.XXX.X] PHP Notice:  Use of undefined constant NOMDUSITE - assumed 'NOMDUSITE' in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\XXX\\lib\\sgbd.inc.php on line 24, referer: http://XXXXX.XX.fr.cly/XXX/lXXX_stat/index.php?page=3
    FATAL:  erealloc():  Unable to allocate 22528 bytes
    [Thu Mar 08 09:14:43 2012] [notice] Parent: child process exited with status 1 -- Restarting.
    [Thu Mar 08 09:14:43 2012] [notice] Parent: Created child process 1920
    [Thu Mar 08 09:14:43 2012] [notice] Disabled use of AcceptEx() WinSock2 API
    [Thu Mar 08 09:14:43 2012] [notice] Child 1920: Child process is running
    [Thu Mar 08 09:14:43 2012] [notice] Child 1920: Acquired the start mutex.
    [Thu Mar 08 09:14:43 2012] [notice] Child 1920: Starting 350 worker threads.
    [Thu Mar 08 09:14:43 2012] [notice] Child 1920: Listening on port 80.
    [Thu Mar 08 09:14:53 2012] [error] [client 10.223.23.5] PHP Notice:  Undefined variable:  id_vue in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\XXX\\XXX_stat\\module\\referentiel\\statistiques.php on line 282, referer: http://XXXXX.XX.fr.cly/XXX/lXXX_stat/index.php?page=4
    [Thu Mar 08 09:14:53 2012] [error] [client 10.XXX.XX.X] PHP Notice:  Undefined variable:  libelle_vue in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\XXX\\XXX_stat\\module\\referentiel\\statistiques.php on line 282, referer: http://XXXXX.XX.fr.cly/XXX/lXXX_stat/index.php?page=4
    FATAL:  erealloc():  Unable to allocate 90112 bytes
    [Thu Mar 08 09:15:14 2012] [notice] Parent: child process exited with status 1 -- Restarting.
     
    /…./
     
    [Mon Mar 12 08:53:33 2012] [notice] Child 4640: Listening on port 80.
    [Mon Mar 12 08:54:05 2012] [error] [client XX.XXX.XX.XX] request failed: error reading the headers, referer: http://XXXXX.XX.fr.cly/XXX/XXX_stat/index.php?page=2
    FATAL:  erealloc():  Unable to allocate 90112 bytes
    [Mon Mar 12 08:54:08 2012] [notice] Parent: child process exited with status 1 -- Restarting.
    [Mon Mar 12 08:54:08 2012] [notice] Parent: Created child process 5676
    [Mon Mar 12 08:54:08 2012] [notice] Disabled use of AcceptEx() WinSock2 API
    [Mon Mar 12 08:54:08 2012] [notice] Child 5676: Child process is running
    [Mon Mar 12 08:54:08 2012] [notice] Child 5676: Acquired the start mutex.
    [Mon Mar 12 08:54:08 2012] [notice] Child 5676: Starting 350 worker threads.
    [Mon Mar 12 08:54:08 2012] [notice] Child 5676: Listening on port 80.
    FATAL:  erealloc():  Unable to allocate 360448 bytes
    [Mon Mar 12 08:54:40 2012] [notice] Parent: child process exited with status 1 -- Restarting.
    Extraits de la configuration APACHE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    # WinNT MPM
    <IfModule mpm_winnt.c>
    ThreadsPerChild 350
    MaxRequestsPerChild  0
    </IfModule>
    Listen 80
    LoadModule access_module modules/mod_access.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule auth_module modules/mod_auth.so
    #LoadModule auth_anon_module modules/mod_auth_anon.so
    #LoadModule auth_dbm_module modules/mod_auth_dbm.so
    #LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule autoindex_module modules/mod_autoindex.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule cgi_module modules/mod_cgi.so
    #LoadModule dav_module modules/mod_dav.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule env_module modules/mod_env.so
    #LoadModule expires_module modules/mod_expires.so
    #LoadModule file_cache_module modules/mod_file_cache.so
    #LoadModule headers_module modules/mod_headers.so
    LoadModule imap_module modules/mod_imap.so
    LoadModule include_module modules/mod_include.so
    #LoadModule info_module modules/mod_info.so
    LoadModule isapi_module modules/mod_isapi.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule mime_module modules/mod_mime.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    #LoadModule proxy_module modules/mod_proxy.so
    #LoadModule proxy_connect_module modules/mod_proxy_connect.so
    #LoadModule proxy_http_module modules/mod_proxy_http.so
    #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule negotiation_module modules/mod_negotiation.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule setenvif_module modules/mod_setenvif.so
    #LoadModule speling_module modules/mod_speling.so
    #LoadModule status_module modules/mod_status.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule userdir_module modules/mod_userdir.so
    #LoadModule usertrack_module modules/mod_usertrack.so
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    #LoadModule ssl_module modules/mod_ssl.so
    UseCanonicalName Off
    <Directory />
        Options FollowSymLinks
        AllowOverride None
     
    </Directory>
        Options Indexes FollowSymLinks
     
        AllowOverride None

    Extraits de la configuration PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    max_execution_time = 10800    
    max_input_time = 60	
    memory_limit = 128M
    odbc.allow_persistent = On
    odbc.check_persistent = On
    odbc.max_persistent = -1
    odbc.max_links = -1  
    odbc.defaultlrl = 4096  
    odbc.defaultbinmode = 1  
    [MySQL]
    mysql.allow_persistent = On
    mysql.max_persistent = -1
    mysql.max_links = -1
    mysql.default_port =
    mysql.default_socket =
    mysql.connect_timeout = 60
    mysql.trace_mode = Off

    Extraits de la configuration MySQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    default-storage-engine=INNODB
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    max_connections=800
    query_cache_size=84M
    table_cache=1520
    tmp_table_size=85M
    thread_cache_size=38
    myisam_max_sort_file_size=100G
    myisam_max_extra_sort_file_size=100G
    myisam_sort_buffer_size=170M
    key_buffer_size=300M
    read_buffer_size=64K
    read_rnd_buffer_size=256K
    sort_buffer_size=256K
    innodb_additional_mem_pool_size=6M
    innodb_flush_log_at_trx_commit=2
    innodb_log_buffer_size=3M
    Ce problème est assez critique.
    Quelqu’un a-t-il déjà rencontré un problème similaire ?
    En vous remerciant par avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    FATAL: erealloc(): Unable to allocate
    Une petite recherche m'a permis de trouver ceci:

    http://www.brakstar.com/blog/?2006/1...e-nnnnnn-bytes

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut Fatal erealloc
    Bonjour,

    Merci bien pour votre retour.
    Nous avons testé la solution proposée en augmentant le swap (de 500 MO à 3GO) et en modifiant httpd.conf comme indiqué.
    Malheureusement nous constatons toujours les mêmes redémarrage du serveur Apache.
    En effectuant divers tests de charge (de 50 à 200 utilisateurs en 5 minutes)associés à des modifications de la configuration Apache, nous avons constaté qu'un ThreadsPerChild inférieur à 100 permettait d'éviter les redémarrages Apache. Cependant cela pénalise fortement les temps de réponse qui ne sont plus acceptables pour les utilisateurs.
    Plus la valeur du ThreadsPerChild augmente, plus il y a des redémarrages.

    Toute idée est donc toujours la bienvenue.

Discussions similaires

  1. [Config] Problème déconnexions intempestives
    Par emmaja dans le forum Administration-Migration
    Réponses: 2
    Dernier message: 26/03/2010, 16h51
  2. [Sécurité] Problème de déconnexion
    Par Zvetch dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2006, 13h59
  3. Problème de Déconnexion
    Par Korma dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2006, 20h28
  4. Le problème de la création d'utilisateur et de la connection
    Par nnn2050 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2005, 22h10
  5. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo