Κάντε την Βάση Δεδομένων σας να "πετάει"

Κάντε την Βάση Δεδομένων σας να "πετάει"

sql serverΕίστε ικανοποιημένοι από την ταχύτητα απόκρισης του ERP σας; Μήπως περιμένετε ώρες για την δημιουργία μιας εκτύπωσης; Μήπως οι χρήστες σας παραπονιούνται ότι το καινούργιο ERP ή CRM που βασίζεται στον SQL Server, αργεί απελπιστικά και νοσταλγούν κάποια DOS εφαρμογή, που «πετούσε»;

Αν ναι, ίσως τα παρακάτω βήματα σας βοηθήσουν να εντοπίσετε το πρόβλημα και πιθανές λύσεις.

1. Καταγραφή του προβλήματος

Εμφανίζονται καθυστερήσεις μόνο σε κάποια συγκεκριμένη εφαρμογή π.χ. στο ERP ή σε όλες τις εφαρμογές; Αφορά το πρόβλημα όλους τους χρήστες; Εμφανίζεται σε όλες τις λειτουργίες ή μόνο σε μερικές; Εμφανίζεται όλες τις ώρες της ημέρας ή σε συγκεκριμένες χρονικές στιγμές ή π.χ. όταν κάποιος χρήστης εκτελεί συγκεκριμένη λειτουργία. Πολλές φορές βοηθάει επίσης, να παρακολουθήσει κανείς τους χρήστες σε πραγματική λειτουργία ή να δοκιμάσει τις λειτουργίες ο ίδιος.

2. Επεξεργασία

Από τις απαντήσεις στα παραπάνω ερωτήματα, μπορούμε να προσεγγίσουμε καλύτερα το πρόβλημα π.χ.

  • αργεί γενικά το ERP, σε όλους τους χρήστες, δεν συνδέεται με συγκεκριμένη ώρα της ημέρας ή λειτουργία.
  • δεν υπάρχουν ιδιαίτερα προβλήματα καθυστερήσεων, αλλά την στιγμή που κάποιος χρήστης ζητάει ισοζύγιο στο ERP, όλοι οι άλλοι «κολλάνε».
  • αργεί μια συγκεκριμένη εκτύπωση στο CRM, ανεξάρτητα από χρήστη και ώρα της ημέρας, εφόσον εκτελείται από συγκεκριμένο PC. Η ίδια εκτύπωση σε άλλο PC, εμφανίζεται σε αποδεκτό χρόνο.

Έτσι, στην 1η περίπτωση φαίνεται ότι υπάρχει πρόβλημα καθυστερήσεων σε όλες τις λειτουργίες του ERP, στην 2η η καθυστέρηση συνδέεται με συγκεκριμένη λειτουργία και στην 3η περίπτωση με συγκεκριμένο PC και λειτουργία.

Αυτά τα συμπεράσματα, μπορούν να μας οδηγήσουν να ερευνήσουμε ακόμα πιο συγκεκριμένα. Η διαδικασία στην συνέχεια είναι πιο σύνθετη, πρέπει να λάβει υπόψη τις ιδιαιτερότητες και απαιτήσεις της κάθε λύσης λογισμικού π.χ.

Το ERP χρησιμοποιεί βάση δεδομένων SQL Server, ενώ η τοπική εφαρμογή που χρησιμοποιεί ο χρήστης είναι μια εφαρμογή .net framework.

To CRM χρησιμοποιεί βάση δεδομένων Oracle, αλλά το συγκεκριμένο PC έχει κάρτα δικτύου 100 Mbit, σε αντίθεση με τα άλλα PC που έχουν κάρτες δικτύου 1Gbit.

Συνεπώς στην περίπτωση του ERP, είναι αναγκαίο να δούμε την απόδοση της βάσης δεδομένων SQL Server, ενώ στην περίπτωση του CRM, να μετρηθεί η απόδοση της κάρτας δικτύου.

3. Δοκιμές – μετρήσεις

Εφόσον εντοπίσαμε τον πιθανό ‘ένοχο’, μπορούμε να προχωρήσουμε σε πιο αναλυτικές δοκιμές και μετρήσεις. Μια συνήθης περίπτωση για σύγχρονες εφαρμογές, όπως CRM/ERP, που χρησιμοποιούν βάση δεδομένων π.χ. SQL Server / Oracle, είναι οι καθυστερήσεις να οφείλονται σε καθυστερήσεις της βάσης δεδομένων. Αυτό είναι εύκολο να διαπιστωθεί, αφού οι σύγχρονες λύσεις database server (εξυπηρετητή βάσης δεδομένων), διαθέτουν μυριάδα από στατιστικές ενδείξεις, που μας βοηθούν να εντοπίσουμε το πρόβλημα π.χ. με συνδυασμό queries (ερωτημάτων) στον SQL Server, μπορούμε να δούμε το ποσοστό ανά τύπο καθυστέρησης και να συμπεράνουμε εάν οφείλονται σε καθυστέρηση του δίσκου, της μνήμης ή της CPU. Συνήθως πάντως, οι καθυστερήσεις μιας βάσης δεδομένων οφείλονται κυρίως στον δίσκο/δίσκους, γιατί η επίδραση στην απόδοση είναι χοντρικά:

Δίσκος 70%

Μνήμη 20%

CPU 10%

Βοήθεια στις συγκεκριμένες μετρήσεις, μπορεί να προσφέρουν και τα utility Task Manager/Resource Monitor των Windows, που απεικονίζουν τους φόρτους CPU/δίσκου/μνήμης σε πραγματικό χρόνο. Πάντως, η διαδικασία των δοκιμών/μετρήσεων απαιτεί εμπειρία και χρόνο, προκειμένου να εντοπιστεί και τεκμηριωθεί ο δημιουργός του προβλήματος και σε καμία περίπτωση δεν είναι μια τυπική διαδικασία ‘τυφλοσούρτης’, η οποία μπορεί να εφαρμοστεί παντού. Κάθε περίπτωση είναι μοναδική, παρόλο που μπορεί να υπάρχουν κοινά σημεία με κάποια άλλη περίπτωση.
sql server
Επίσης, απαραίτητο είναι να διασφαλίζονται οι απαιτήσεις αξιοπιστίας των μετρήσεων π.χ. μια μέτρηση την στιγμή που στο σύστημα δουλεύουν 10 χρήστες δεν μπορεί να συγκριθεί με μία όταν δεν δουλεύει κανείς. Τέλος, οι μετρήσεις θα πρέπει να καταγράφονται σε κάποιο αρχείο, κατά προτίμηση Excel ή έστω κειμένου, είτε αυτόματα είτε χειροκίνητα, προκειμένου να είναι δυνατή η ανάκτηση και η σύγκριση τους.

4. Τελικό συμπέρασμα – Πιθανές προτάσεις

sql serverΤελικά, μετά την τεκμηρίωση της αιτίας των καθυστερήσεων (π.χ. δίσκος ή μνήμη server), μετά από μετρήσεις, είναι δυνατό να ερευνηθούν πιθανοί τρόποι βελτίωσης π.χ. Εφόσον το πρόβλημα οφείλεται σε αργούς δίσκους, θα μπορούσαν να αλλαχθούν με γρηγορότερους, να προστεθούν και άλλοι στην περίπτωση συστοιχίας raid, να μοιραστούν τα αρχεία της βάσης σε περισσότερους του ενός δίσκους, να αλλαχθεί ο disk controller (ελεγκτής δίσκου) με κάποιον γρηγορότερο κτλ.

Πατήστε εδώ για να δείτε ένα σχετικό άρθρο από τη Microsoft.

Συντάκτης του άρθρου

Θανάσης Μάστορας Θανάσης Μάστορας
Ο Θανάσης Μάστορας έχει μια μακροχρόνια διαδρομή στις τεχνολογίες της πληροφορικής για περίπου 20 χρόνια. Με ιδιαίτερη εμπειρία στην ανάλυση λύσεων καθώς και στις τεχνολογίες BI, CRM και Data Analysis οδηγεί την Synectics από το 2008 που ιδρύθηκε.

Τα σχόλια είναι κλειστά.