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

MS SQL Server Discussion :

Problème constaté lors de connexions multiples à SQL-Server 2000


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 14
    Par défaut Problème constaté lors de connexions multiples à SQL-Server 2000
    Bonjour à tous.

    Actuellement en stage, je travail sur une application (développée en perl) utilisant SQL server 2000 (Enterprise Manager).

    1°) Sur le Serveur virtuelle, il y a :
    a) serveur web: Apache
    b) antivirus: Mc Afee
    ...
    2°) Taille de la base de données: 6327 MB
    3°) Quantité de RAM: 1 Go
    4°) Microsoft Windows Server 2003 R2 Standard Edition, service pack 2

    Description du problème:

    - Lorsque plusieurs utilisateurs se connectent à l'application, je constate un ralentissement assez important dans l'affichage des pages. Aussi, il arrive d'avoir l'erreur décrite à la fin de ce message.

    - J'ai aussi également constaté que lorsque je lance mon application, même en exécutant une seule requête, le CPU est consommé à 100%, ce qui à mon avis n'est pas du tout normal.

    La quasi totalité des clefs primaires de mes tables sont indexée (cluster) ainsi que les clefs étragères. surtout les tables les plus utilisées dans les requêtes SQL.

    N'étant pas un expert en Administration de Bases de Données, je souhaiterai savoir:

    1°) à quoi cela peut être dû et comment faire pour y remédier afin que les temps de réponses soit assez courts (rapide) et que je ne puisse plus avoir l'erreur de connexion décrite ci dessous ( à la fin du message).

    2°) comment faire pour optimiser ma base de données
    3°) Comment faire pour identifier les requêtes les plus consomatrices.


    Merci par avance pour votre aide précieuse.

    Message d'erreur en dessous (merci):


    Erreur constatée quelque fois lorsque plusieurs utilisateurs tentent de se connecter:

    Software Error

    'Financial.Project.Show': Could not load module 'LLL::Functions::Financial:roject':
    DBI connect('rb_ps','rb_ps_test',...) failed: [ODBC SQL Server Driver]Timeout expired (SQL-HYT00)(DBD: db_login/SQLConnect err=-1) at d:/rb/instances/ps/cgi-bin/../Modules/LLL/Database/Generic.pm line 289
    Compilation failed in require at d:/rb/instances/ps/cgi-bin/../Modules/LLL/HTMLTools/CGIext.pm line 14.
    BEGIN failed--compilation aborted at d:/rb/instances/ps/cgi-bin/../Modules/LLL/HTMLTools/CGIext.pm line 14.
    Compilation failed in require at d:/rb/instances/ps/cgi-bin/../Modules/LLL/UserTools.pm line 12.
    BEGIN failed--compilation aborted at d:/rb/instances/ps/cgi-bin/../Modules/LLL/UserTools.pm line 12.
    Compilation failed in require at d:/rb/instances/ps/cgi-bin/../Modules/LLL/Functions/Financial/Project.pm line 32.
    BEGIN failed--compilation aborted at d:/rb/instances/ps/cgi-bin/../Modules/LLL/Functions/Financial/Project.pm line 32.
    Compilation failed in require at d:/rb/instances/ps/cgi-bin/../Modules/LLL/Dispatcher.pm line 94.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    C'est une situation normale. Un SGBDR doit être installé sur une machine dédié et consomme TOUTE le RAM du serveur. Comme tout bon SGBDR SQL Server fonctionne exclusivement en mémoire or avec 1 Go de RAM, vous n'irez pas loin.... Le minimum ordinaire pour ce type de SGBDR est 4 Go en serveur dédié !
    Le fait que SQL Server va pomper toute la RAM, empêche les autres applications de fonctionner correctement.

    En sus il faut désactiver votre antivirus. Un SGBDR n'est pas sensible aux virus et cela ralentis considérablement le service des données.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 14
    Par défaut
    Merci pour les orientation. Je vais suivre votre conseil de désintaller l'anti virus.

    Par contre je souhaiterai savoir également si ce problème peut être lié aux requêtes qui pourraient être mal écrites.

    Lorsqu'il y a moins d'utilisateurs connectés sur l'application, les temps de réponses sont acceptables ( inférieur à 1 minute). Par contre lorsqu'ils y en a plusieurs (utilisateurs connectés), les temps de réponse sont plus important, l'application rame.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Par contre je souhaiterai savoir également si ce problème peut être lié aux requêtes qui pourraient être mal écrites.

    Lorsqu'il y a moins d'utilisateurs connectés sur l'application, les temps de réponses sont acceptables ( inférieur à 1 minute). Par contre lorsqu'ils y en a plusieurs (utilisateurs connectés), les temps de réponse sont plus important, l'application rame.
    Ce peut effectivement être une autre partie du problème.
    Les requêtes sont lentes principalement parce que lorsque plusieurs utilisateurs sont connectés, ils exécutent des requêtes différentes.
    Comme elles sont différentes, il y a des grandes chances pour qu'elles accèdent à des données différentes et/ou dans des tables différentes.
    Avec si peu de RAM, il est donc impossible de stocker toutes ces données en RAM.
    Donc les performances de la base de données en souffrent puisqu'il y a un aller-retour constant entre le disque (1000 fois plus lent que la RAM) et la RAM.
    D'autre part le fait de virtualiser n'aide pas.

    Combien d'utilisateurs votre base de données doit-elle supporter ?
    Comme il s'agit d'une machine virtuelle, voyez si vous ne pouvez pas prendre plus de RAM sur la machine hôte : plus en aurez à disposition, meilleures seront les performances (mais ce n'est pas le remède absolu)

    Seulement ensuite exécutez SQL Profiler côté serveur, filtrez bien votre trace sur la durée, la consommation CPU et le nombre de lectures, et vous allez trouver les mauvaises requêtes

    Pouvez-vous dire si les statistiques et les index sont maintenus sur cette base de données ?
    Quelle est l'édition du moteur de base de données ?

    @++

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Par défaut
    Si l'environnement est du VMWare, je vous conseil de suivre cette documentation pour comprendre et pourquoi pas revoir la configuration "hardware" de votre server SQL

    VMWare SQL Server Best Practice

    ça peut aussi être une piste

    @+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 14
    Par défaut
    Bonjour,

    Merci pour vos réponse car cela me permet de voir plus claire.

    Ma base de données doit supporter environ 50 utilisateurs. Mais en ce moment, dès qu'il y a plus de 2 utilisateurs connectés, les temps de réponse de l'application sont assez lente ( plus d'une minutes, voir plus pour afficher une page).

    Autres précisions: J'ai des bases de données mutualisées car j'ai:

    1°) une base de données pour l'environnement de recette ( pour les tests)
    2°) une base de données pour l'environnement de production
    3°) une base de données pour l'environnement de développement.

    Toutes les bases de données ont quasiment toutes la même taille ( les différentes applications font exactement la même chose)

    J'ai différents liens ( applications) qui me permettent de me connecter à chacune d'elle.


    Par contre, Pouvez-vous me dire comment je peux faire pour savoir si les statistiques et les index sont maintenus sur la base de données ?


    Voici les différentes caractéristiques que j'ai relevé sur le serveur:

    - Product: SQL Server Standard Edition
    - OS: Microsoft Windows NT-5.2 (3790)
    - Product version: NT INTEL X86
    - OS memory: 1023 (MB)
    - Processeur: 1
    - Server Collation: Latin1_General_Cl_AS


    Concernant les informations suivantes, je pourrai vous en dire plus une fois que j'aurai ces informations: la maintenance des statistiques et des index sur la base de données et l'édition du moteur de base de données.

    Merci encore pour vos réponses précieuses.

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    - Product: SQL Server Standard Edition
    Certes, mais cela ne donne pas la version, ni le service pack (un peu moins important). Utilisez le second lien que je vous ai donné dans ma réponse précédente

    Pouvez-vous me dire comment je peux faire pour savoir si les statistiques et les index sont maintenus sur la base de données ?
    Ce n'est pas facile sans la version (si vous êtes en SQL Server 2000, les requêtes pour le savoir sont différentes de celles pour le savoir sur une version postérieure )

    - OS memory: 1023 (MB)
    - Processeur: 1
    Clairement sous-dimensionné à mon avis pour 50 utilisateurs.

    @++

Discussions similaires

  1. [VS2003] Connexion distante à SQL Server 2000
    Par cyllix dans le forum ASP.NET
    Réponses: 17
    Dernier message: 18/07/2007, 15h59
  2. connexion base sql server 2000
    Par gdebre dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/04/2007, 12h12
  3. problème d'insertion sur une BD SQL server 2000
    Par offspring140 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 22/05/2006, 11h11
  4. connexion BO, sql server 2000 ?
    Par donny dans le forum Deski
    Réponses: 1
    Dernier message: 01/03/2006, 11h42
  5. connexion à distance à SQL Server 2000 à partir d'Access2003
    Par FlicEnFlac dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/10/2005, 16h26

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