Τυπική δοκιμή φορτίου. Τυπική δοκιμή φορτίου Η δοκιμαστική μας διαμόρφωση

Το 1C Test Center 8 είναι ένα εξειδικευμένο προϊόν λογισμικού από την 1C που σας επιτρέπει να αξιολογείτε την απόδοση του συστήματος και να μελετάτε τα σημεία συμφόρησης του συστήματος πληροφοριών.

Προηγουμένως εξετάσαμε μια προσαρμοσμένη διαμόρφωση. Τώρα θα μάθουμε πώς να δημιουργούμε σενάρια για δοκιμές διαμόρφωσης πολλών χρηστών από χρήστες και να εκτελούμε την ίδια τη δοκιμή.

Το σενάριο δοκιμής στο Κέντρο δοκιμών 1C είναι γραμμένο μέσα σε μια ειδικά δημιουργημένη επεξεργασία. Αυτό το πρότυπο βρίσκεται μέσα στη διαμόρφωση, έχει το όνομα "TCTestProcessingTemplate". Για να δημιουργήσετε το δικό σας δοκιμαστικό σενάριο, πρέπει να αντιγράψετε αυτό το πρότυπο και με βάση αυτό να δημιουργήσετε το δικό σας, νέο, ας το ονομάσουμε "Επαναδημοσίευση απόδειξης αγαθών":

Ας προσθέσουμε ένα νέο χαρακτηριστικό στην επεξεργασία και ας το εμφανίσουμε στη φόρμα - "DocumentForCopying", αυτό είναι το έγγραφο που θα αντιγράψουμε.

Ας ρίξουμε μια πιο προσεκτική ματιά στη μονάδα φόρμας. Μπορείτε να χρησιμοποιήσετε τρεις διαδικασίες σε αυτό - TCIinitialize(), TTSEexecute(), Delete().

  • TCIinitialize - χρησιμοποιείται για την αρχική συμπλήρωση των ρυθμίσεων της βάσης πληροφοριών, για παράδειγμα, για τη συμπλήρωση της λογιστικής πολιτικής.
  • Το TCEexecute είναι η κύρια ενότητα στην οποία γράφεται απευθείας το σενάριο δοκιμής.
  • Το TCUDeleteData είναι μια λειτουργική μονάδα που περιγράφει τη διαγραφή αντικειμένων που δημιουργήθηκαν κατά τη διαδικασία δοκιμής.

Ας γράψουμε τον απλούστερο κώδικα στη διαδικασία TCEexecute(), η οποία θα αντιγράψει το επιλεγμένο έγγραφο 5 φορές στη σειρά και θα μετρήσει την αντιγραφή και την ανάρτηση κάθε εγγράφου:

Για th=1 έως 5 κύκλο

Εργαλεία = KipExternalComponent.GetTools();
StartTime = KipExternalComponent.TimerValue(Tools);

Λάβετε 267 μαθήματα βίντεο στο 1C δωρεάν:

CreateDocuments();

EndTime = KipExternalComponent.TimerValue(Tools);
Διάρκεια εκτέλεσης = (Ώρα λήξης - Ώρα έναρξης) / 1000;

TCWriteIndicator("Χρόνος εκτέλεσης", Διάρκεια εκτέλεσης);

EndCycle;

Επιστροφή TCEexecutionResultSuccessfully();

Η διαδικασία CreateDocuments() θα εκτελεστεί στον διακομιστή:

Διαδικασία CreateDocuments()

NewDocument = TCObject.DocumentForCopying.Copy();
NewDocument.Date = CurrentDate();
NewDocument.Write(DocumentWriteMode.Post);

Τέλος Διαδικασίας

Αυτό ολοκληρώνει την προετοιμασία του σεναρίου, ας περάσουμε στο Κέντρο δοκιμών για τη διεξαγωγή δοκιμών φορτίου.

Ρύθμιση του Κέντρου Δοκιμών 1C 8.3

Αφού γράψουμε τη δοκιμή, θα αρχίσουμε να ρυθμίζουμε το ίδιο το Κέντρο δοκιμών. Για να ρυθμίσετε τις παραμέτρους, πρέπει να συμπληρώσετε έναν αριθμό βιβλίων αναφοράς:

  • Θεραπείες— ένας κατάλογος που περιέχει μια λίστα διαδικασιών που συνδέονται με τη δοκιμή. Η επεξεργασία μπορεί να είναι τόσο εσωτερική όσο και εξωτερική.
  • Ρόλοι— ένας κατάλογος για την αποθήκευση του συνδέσμου ρυθμίσεων επεξεργασίας-επεξεργασίας. Οι ρυθμίσεις είναι δεδομένα που είναι μεμονωμένα για κάθε δοκιμή (αριθμός επαναλήψεων, έγγραφο που αντιγράφηκε κ.λπ.).
  • Χρήστες— λίστα χρηστών και οι κωδικοί πρόσβασής τους.
  • Υπολογιστές— κατάλογος υπολογιστών στους οποίους θα πραγματοποιηθεί η δοκιμή.
  • Πελάτες -ρυθμίζοντας πού, από ποιον και σε ποια λειτουργία θα ξεκινήσει η δοκιμή φόρτωσης.

Σενάρια δοκιμής

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

Επίσης, στην καρτέλα "Παράμετροι" μπορείτε να διαμορφώσετε ένα σενάριο τεχνικής δοκιμής:

Μετά τη ρύθμιση του σεναρίου, το μόνο που μένει είναι να το εκκινήσετε.

Έναρξη δοκιμών στο 1C: Κέντρο δοκιμών

Όταν όλα είναι έτοιμα, το μόνο που μένει είναι να ξεκινήσει η εργασία δοκιμής.

Για να γίνει αυτό, πρέπει να ξεκινήσετε τουλάχιστον δύο συνεδρίες του προγράμματος: η πρώτη - στο ρόλο του λεγόμενου. «πράκτορας», και ο δεύτερος ως εμπνευστής της εκκίνησης του σεναρίου.

Εκκίνηση του πράκτορα:

Εκτέλεση του σεναρίου:

Για να τρέξετε, απλώς επιλέξτε το σενάριο που θέλετε από τη λίστα και κάντε κλικ στο κουμπί Εκτέλεση.

Κάθε ειδικός υποστήριξης έχει εμπειρία στη λήψη αφηρημένων παραπόνων από χρήστες. Όλοι είναι εξοικειωμένοι με τις διατυπώσεις: "σκέφτεται για πολύ καιρό", "έχω ένα κόκκινο παράθυρο", "το σύστημα λειτουργεί κάπως λάθος" και επίσης "αυτό δεν έχει συμβεί για πολύ καιρό, και ορίστε είναι πάλι."

Σε μια τέτοια κατάσταση, είναι πολύ δύσκολο να καταλάβουμε αμέσως πού βρίσκεται το σφάλμα και τι να κάνουμε πρώτα. Σε αυτό το άρθρο θα δούμε από τι εξαρτάται η απόδοση του 1C, δηλ. συστήματα υψηλής φόρτισης που δημιουργούνται με βάση το 1C:Enterprise, σε περιπτώσεις όπου τα συμπτώματα δεν είναι πλήρως κατανοητά και δεν μπορεί να γίνει συγκεκριμένη διάγνωση.


Οι κύριοι λόγοι που επηρεάζουν την απόδοση του 1C

Σε περισσότερο από το 60% των περιπτώσεων, οι λόγοι για τη χαμηλή παραγωγικότητα είναι:

  • Μη βέλτιστα ερωτήματα και κωδικός διαμόρφωσης (26% των περιπτώσεων).
  • Μη βέλτιστη ευρετηρίαση πινάκων αντικειμένων (19% των περιπτώσεων).
  • Μη βέλτιστο φορτίο στο υποσύστημα δίσκου (16% των περιπτώσεων).

Οι κορυφαίοι προγραμματιστές της Microsoft συμφωνούν με αυτό.

Έτσι, για να επιτευχθεί σημαντική βελτίωση στην απόδοση μιας εφαρμογής βάσης δεδομένων, είναι δυνατό να βελτιστοποιηθεί το εύρος της πρόσβασης δεδομένων, συμπεριλαμβανομένου του λογικού και φυσικού σχεδιασμού των βάσεων δεδομένων (όσο είναι δυνατόν σε 1C), καθώς και με τη δημιουργία του δικαιώματος ερωτήματα και χρησιμοποιώντας τη βέλτιστη ευρετηρίαση. Ορισμένα προβλήματα απόδοσης της βάσης δεδομένων μπορούν να επιλυθούν αυξάνοντας τη χωρητικότητα του υλικού, αλλά όχι πάντα: η εσφαλμένη σχεδίαση της λύσης εφαρμογής δεν μπορεί να αντισταθμιστεί από έναν πιο ισχυρό διακομιστή. Δεν είναι ασυνήθιστο ότι, χωρίς να κατανοήσουν τα αίτια ενός προβλήματος απόδοσης, οι εταιρείες χρηστών επιβαρύνονται με σημαντικό κόστος αγοράζοντας νέο εξοπλισμό, αλλά το πρόβλημα παραμένει άλυτο.

Τα διαγνωστικά υψηλής ποιότητας απόδοσης 1C με χρήση ολόκληρης της σειράς υπαρχόντων εργαλείων είναι το κλειδί για την επιτυχή επίλυση προβλημάτων και τη βελτιστοποίηση του κόστους

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

Παράδειγμα:

Λάθος: Το πρόγραμμα παγώνει κατά τη δημιουργία αναφοράς. Θέλω να σχηματιστεί πιο γρήγορα.

Σωστό: Η αναφορά "Δήλωση χρέους" δημιουργείται σε 5 λεπτά 10 δευτερόλεπτα. Η αναμενόμενη ταχύτητα δημιουργίας αυτής της αναφοράς δεν είναι μεγαλύτερη από 20 δευτερόλεπτα.

Αφού καταρτιστεί και ψηφιοποιηθεί ο κατάλογος των προβλημάτων, είναι απαραίτητο να αναλυθούν τα αίτια, ξεκινώντας με την αναζήτηση προβληματικού κωδικού, εάν υπάρχει (για παράδειγμα, «βαριά» αιτήματα, μεγάλη αναμονή σε κλειδαριές, αδιέξοδα κ.λπ.).

Εργαλεία για τον εντοπισμό προβληματικού κώδικα

  • "1C: Κέντρο διαχείρισης απόδοσης" (μια ενότητα που περιλαμβάνεται στο πακέτο εργαλείων "1C: Corporate", που παράγεται από την 1C).
  • Υπηρεσίες cloud Gilev;
  • Τυπικά εργαλεία ενσωματωμένα στο DBMS από κορυφαίους προμηθευτές.

Η αποτελεσματικότητα της χρήσης αυτών των εργαλείων είναι εγγυημένη από τα προσόντα του προγραμματιστή "1C: Expert on Technological Issues", που συνεπάγεται τη συμμετοχή του σε μεγάλης κλίμακας υλοποιήσεις του 1C. Ταυτόχρονα, διαφορετικοί εμπειρογνώμονες, με βάση την ατομική τους εμπειρία, μπορεί να προτιμούν το ένα ή το άλλο εργαλείο/μέθοδο.

Παράλληλα με τη χρήση ενός από τα παρουσιαζόμενα εργαλεία, χρησιμοποιούνται επίσης τυπικά εργαλεία παρακολούθησης φορτίου εξοπλισμού (Performance monitors counters).

Με βάση τις μετρήσεις που λαμβάνονται, προσδιορίζεται η κατηγορία αιτίας:

  • Το πρόβλημα είναι στον κώδικα.
  • Και/ή το πρόβλημα είναι στο υλικό.
  • Το πρόβλημα βρίσκεται σε άλλα προγράμματα έντασης πόρων που χρησιμοποιούνται σε διακομιστές παραγωγής.

Δοκιμή φόρτωσης 1C - μέθοδος αξιολόγησης εξοπλισμού διακομιστή

Όπως αναφέρθηκε ήδη, μεταξύ των παραγόντων που μπορούν να επηρεάσουν την απόδοση του 1C, τόσο θετικά όσο και αρνητικά, το υλικό του διακομιστή και η διαμόρφωσή του καταλαμβάνουν σημαντική θέση. Ας εξετάσουμε τις επιλογές για μετρήσεις, εκτίμηση φορτίου και δοκιμή της απόδοσης του συστήματος υπό τις ακόλουθες συνθήκες:

  • Ο διακομιστής 1C είναι διαθέσιμος και βρίσκεται:
  • Μαζί με το DBMS.
  • Σε ξεχωριστό διακομιστή.

Για να αξιολογηθεί η συμμόρφωση των παραμέτρων του υπάρχοντος εξοπλισμού διακομιστή με τις απαιτήσεις του συστήματος, είναι απαραίτητο να συλλεχθούν δεδομένα σχετικά με το φορτίο στο υλικό, συμπεριλαμβανομένου του επεξεργαστή, δηλ. Δοκιμή φορτίου 1C. Για το σκοπό αυτό, χρησιμοποιείται το "Performance Monitor" - ένα εργαλείο που σας επιτρέπει να μετράτε τον εξοπλισμό στο κύκλωμα λειτουργίας και να διαβάζετε μετρητές απόδοσης.

Παρακάτω είναι ένα βασικό σύνολο μετρητών που πρέπει να ρυθμιστούν για την παρακολούθηση της απόδοσης του υλικού στα Windows. Η συλλογή γίνεται από όλους τους διακομιστές όπου είναι εγκατεστημένοι διακομιστές 1C.

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

Η προβολή "Διαδικασία" θα σας επιτρέψει να διαμορφώσετε την παρακολούθηση για κάθε μεμονωμένη διαδικασία, καθώς και να προσδιορίσετε ποιες διεργασίες καταλαμβάνουν τον περισσότερο χρόνο CPU. Εάν μόνο ο διακομιστής 1C είναι εγκατεστημένος στον διακομιστή, τότε για να κατανοήσετε τι φορτίο βάζει στο υλικό, πρέπει να διαμορφώσετε τη συλλογή των παρακάτω μετρητών:

\Process("1cv8*")\% Χρόνος επεξεργαστή
\Process("ragent*")\% Χρόνος επεξεργαστή
\Process("ragent*")\Private Bytes
\Process("ragent*")\Virtual Bytes
\Διαδικασία("rmngr*")\% Χρόνος Επεξεργαστή
\Process("rmngr*")\Private Bytes
\Process("rmngr*")\Virtual Bytes
\Process("rphost*")\% Χρόνος επεξεργαστή
\Process("rphost*")\Private Bytes
\Process("rphost*")\Virtual Bytes
\Process("1cv8*")\Private Bytes
\Process("1cv8*")\Virtual Byte

Εάν το τρέχον σύστημα βρίσκεται σε μη ικανοποιητική κατάσταση, τότε με βάση τις μετρήσεις που συλλέγονται, χρησιμοποιώντας μια γραμμική σχέση, θα πρέπει να υπολογιστούν οι παράμετροι του εξοπλισμού για την εγκατάσταση του συστήματος στόχου.

Αν προγραμματίζεται μόνο η αγορά εξοπλισμού διακομιστή, οι παράμετροί του μπορούν να υπολογιστούν με εξομοίωση της λειτουργίας του προγραμματισμένου συστήματος, αλλά σε μικρότερη κλίμακα, χρησιμοποιώντας υπάρχοντα εξοπλισμό. Για το σκοπό αυτό χρησιμοποιείται το «1C: Test Center», το οποίο περιλαμβάνεται στο Εταιρικό Εργαλειοθήκη 1C. Με βάση τις μετρήσεις που λαμβάνονται, χρησιμοποιώντας μεθόδους υπολογισμού, προσδιορίζονται οι παράμετροι του προγραμματισμένου συστήματος και, κατά συνέπεια, οι απαιτήσεις για εξοπλισμό. Αυτή η δοκιμή μπορεί να χρησιμοποιηθεί επανειλημμένα για διαφορετικές μετρήσεις, έχοντας προηγουμένως συμπληρώσει και επεκτείνει τη λειτουργικότητα. Αυτή η τεχνική έχει υψηλή ακρίβεια και ευκολία υπολογισμού.

Για να κατανοήσουμε το πραγματικό φορτίο στον εξοπλισμό, ήταν απαραίτητο να δοκιμάσουμε την απόδοση ενός τερματικού διακομιστή 1C στην παραγωγή, κάτι που έκανα πρόσφατα και τώρα θέλω να παρουσιάσω τα αποτελέσματα για να τα δουν όλοι.

Διαβάστε περισσότερα στο άρθρο.

Θα βρείτε άλλα άρθρα σχετικά με το 1C στην αντίστοιχη ενότητα -.

Σε πολλά προηγούμενα άρθρα για το 1C, εργάστηκα στον υπολογισμό των διαμορφώσεων διακομιστή για διάφορα φορτία που δημιουργούνται από τις προσπάθειες των κύριων χρηστών του 1C, δηλαδή των υπαλλήλων των τμημάτων λογιστικής και πωλήσεων. Τα καθήκοντα των λογιστών δεν εξαρτώνται μόνο από τη σύνταξη εκθέσεων και την εισαγωγή δεδομένων στο πρόγραμμα, και επομένως είναι προτιμότερο να έχουν πλήρη πρόσβαση στο τερματικό και να εργάζονται με όλα όσα χρειάζονται από εκεί (). Για τους διαχειριστές, όλα είναι πολύ πιο απλά και για αυτούς, η δημοσίευση μιας εφαρμογής () είναι μια απολύτως αποδεκτή περίπτωση χρήσης.

Δεν διακινδύνευσα να βάλω τον διακομιστή σε παραγωγή χωρίς να πραγματοποιήσω πραγματικές δοκιμές, επομένως οργανώθηκαν δοκιμές μεγάλης κλίμακας. Το πλεονέκτημά του για μένα προσωπικά ήταν ότι μπορούσα να επιβεβαιώσω (ή να αντικρούσω) στην πράξη τους θεωρητικούς υπολογισμούς μου, η βάση των οποίων ήταν πολύ υποκειμενικοί δείκτες απόδοσης των θέσεων εργασίας των εργαζομένων.

Περιβάλλον δοκιμής

Έτσι, για δοκιμή πήραμε έναν διακομιστή με CPU Intel Xeon E5-1650 v3 @ 3,50 GHz, 128 GB RAM, 2*SSD σε RAID 1. Σε αυτόν τον διακομιστή, ο οποίος είναι απλώς ένας τερματικός διακομιστής, αναπτύσσεται μια εικονική μηχανή, με εγκατεστημένες τις εφαρμογές 1C 8.2, 1C 8.3, MS Office 2013 Pro.

Θα πω αμέσως ότι η φύση του φορτίου ήταν μικτή, δηλαδή υπήρχαν πελάτες που δούλευαν μέσω RemoteApp και υπήρχαν εκείνοι που συνδέθηκαν πλήρως μέσω RDP και χρησιμοποίησαν τα απαραίτητα προγράμματα για την εργασία τους (όχι μόνο 1C, αλλά και Office ). Η κατανομή ήταν περίπου ως εξής: 24 συνεδρίες RemoteApp, 5 πελάτες RDP.

Οι χρήστες αντιμετώπισαν το καθήκον να συνδέονται σε εφαρμογές κάθε 30 λεπτά για δύο ώρες και να εκτελούν καθημερινές εργασίες σε αυτές - δημιουργία αναφορών, εκτύπωση δεδομένων, δημοσίευση εγγράφων, εξαγωγή δεδομένων σε άλλες μορφές κ.λπ. Το κύριο πράγμα είναι ότι δεν υπήρχε στόχος να βάλετε τον διακομιστή ο στόχος ήταν να δοθεί πραγματικό μέσο ημερήσιο φορτίο.

Αποτελέσματα δοκιμών

Όλα ξεκίνησαν ως συνήθως - χρήστες από την τρίτη ώθηση, ήδη από τους επικεφαλής τμημάτων και άνω, άρχισαν να συνδέονται στο 1C και να εκτελούν εργασίες ρουτίνας. Όλα αυτά δεν κράτησαν πολύ και είχα μόνο μία ευκαιρία να πάρω τους δείκτες απόδοσης διακομιστή όσο το δυνατόν πιο κοντά στο πραγματικό φορτίο. Αυτό πήρα στο τέλος:

RAM (η δυναμικά εκχωρημένη μνήμη είχε ρυθμιστεί στον εικονικό διακομιστή, επομένως, εάν χρειαζόταν, η τρέχουσα ποσότητα μνήμης RAM άλλαζε συνεχώς προς τα πάνω):

Τώρα είναι απαραίτητο να αναλυθούν τα αποτελέσματα και να εξαχθούν συμπεράσματα.

Ανάλυση δεδομένων

Θα πρέπει να σημειωθεί ότι οι υπολογισμοί για τον επεξεργαστή αποδείχθηκαν εξαιρετικά ακριβείς.

Στο άρθρο, διαπίστωσα εμπειρικά ότι η κατανάλωση πόρων CPU μιας περιόδου λειτουργίας 1C RemoteApp ανέρχεται κατά μέσο όρο σε 122.775 μονάδες απόδοσης επεξεργαστή (δεδομένα απόδοσης που λαμβάνονται από τον ιστότοπο www.cpubenchmark.net). Σε άλλο άρθρο, υπολόγισα τους πόρους που απαιτούνται για την εκτέλεση μιας πλήρους συνεδρίας RDP και ανήλθαν στο 4% του Core i5 4460, δηλαδή 0,04 * 6622 (τα δεδομένα είναι επίσης με www.cpubenchmark.net) = 264,88.

Συνολικά παίρνουμε:

  • μια πλήρης συνεδρία RDP καταναλώνει 264,88 Μονάδες απόδοσης CPU;
  • η συνεδρία 1C RemoteApp καταναλώνει 122,775 μονάδες.

Στην κορυφή ανέφερα ότι υπήρχαν 24 χρήστες RemoteApp και 5 χρήστες RDP. Μετράμε:

24 * 122,775 + 5 * 264,88 = 4271

Ο σχετικός δείκτης απόδοσης του Intel Xeon E5-1650 v3 είναι 13477 μονάδες. Θεωρητικά δηλαδή Το φορτίο της CPU θα πρέπει να είναι περίπου 32% (4271 / 13477 * 100).

Το γράφημα φόρτωσης της CPU δείχνει ότι στο χρονικό διάστημα 10:30 - 10:50 η CPU φορτώνεται κατά 25 - 40% (οι κορυφές δεν υπολογίζονται). Φυσικά, δεν θα έχετε μια ευθεία γραμμή φόρτου CPU 32% θα εξακολουθούν να υπάρχουν διακυμάνσεις από τα ελάχιστα έως τα σχετικά μέγιστα, αλλά γενικά μπορούμε να υποθέσουμε ότι τα πραγματικά δεδομένα συμφωνούν με τα θεωρητικά. Παρεμπιπτόντως, όσο περισσότεροι χρήστες υπάρχουν στον διακομιστή σας, τόσο πιο ομοιόμορφο θα είναι το φορτίο.

Στην πραγματικότητα, τα δεδομένα RAM αποδείχθηκαν πιο πολύτιμα. Σύμφωνα με υπολογισμούς από προηγούμενα άρθρα, είχα:

  • 2 GB ανά περίοδο λειτουργίας RDP.
  • 100 MB ανά περίοδο λειτουργίας RemoteApp.

Δηλαδή, η ποσότητα της κατειλημμένης μνήμης θα έπρεπε να ήταν το πολύ 12,4 GB + λίγο για το λειτουργικό σύστημα. Αλλά, όπως αποδείχτηκε και όπως κατ' αρχήν είχα μια εικόνα, αυτή η αξία στην πράξη ήταν εντελώς διαφορετική φιγούρα. Το 1C αποδείχθηκε πολύ άπληστο για τη μνήμη RAM, προς λύπη μου. Επιπλέον, η εφαρμογή συμπεριφέρεται με τέτοιο τρόπο ώστε αφού πιάσει λίγο χώρο, δεν θεωρεί απαραίτητο να την αποδεσμεύσει τη στιγμή που δεν χρειάζεται πλέον:

Λοιπόν, είναι φυσιολογικό να τρώτε 2 GB RAM και να κάθεστε και να μην κάνετε τίποτα (το φορτίο της CPU της περιόδου λειτουργίας είναι 0%). Οι σύγχρονοι προγραμματιστές δεν ενδιαφέρονται καθόλου για τη βέλτιστη χρήση των πόρων. Προσωπικά, όταν ήμουν στο πανεπιστήμιο, αναγκάστηκα να ξαναγράψω τον κώδικα της αίτησης εάν ήταν γραμμένος παράλογα ως προς τη χρήση υπολογιστικών πόρων. Προφανώς, τα προσόντα των σύγχρονων προγραμματιστών έχουν πέσει κάτω από την πλίνθο, ή ίσως αυτό είναι απλώς μια προσέγγιση - γιατί να βελτιστοποιήσετε τον ήδη γραμμένο κώδικα, όταν είναι καλύτερο να αναπτύξετε νέα λειτουργικότητα. Γενικά, δεν είναι το θέμα, βομβάρδισε και δεν πειράζει.

Από τα 16 GB "ηχείων" που διατέθηκαν στον διακομιστή, τα έφαγε όλα και πιθανότατα ζήτησε περισσότερα. Θεωρητικά, εάν υπάρχει έλλειψη μνήμης RAM, το λειτουργικό σύστημα θα αλλάξει στο δίσκο και σε αυτήν την περίπτωση, αρχίζει μια σοβαρή πτώση στην απόδοση. Στην περίπτωσή μου, αυτό δεν ίσχυε και πιθανότατα αυτό οφειλόταν στον SSD, ο οποίος πρακτικά δεν παρουσίαζε καθόλου φορτίο - μόνο δύο βραχυπρόθεσμες αιχμές κατά τη διάρκεια ολόκληρης της δοκιμαστικής περιόδου (από τις 10:00 έως τις 12:00). Ωστόσο, όπως δείχνει η πρακτική, δεν συνιστώ την αποθήκευση στη μνήμη RAM του τερματικού διακομιστή.

Η τυπική δοκιμή φόρτωσης έχει σχεδιαστεί για να αξιολογεί την απόδοση του υλικού και του λογισμικού διακομιστή στους λεγόμενους «Τυπικούς χρήστες 1C». Ο κύριος τομέας εφαρμογής αυτής της δοκιμής είναι η επιλογή διαμορφώσεων υλικού και λογισμικού διακομιστή για τους σκοπούς μιας συγκεκριμένης υλοποίησης.

Προβλήματα προς επίλυση

  • Υπολογισμός της απόδοσης μιας δεδομένης διαμόρφωσης υλικού και λογισμικού διακομιστή
  • Σύγκριση της απόδοσης διαφορετικών διαμορφώσεων υλικού και λογισμικού διακομιστή
  • Επιλογή του απαραίτητου εξοπλισμού για τη λειτουργία αυτού του πληροφοριακού συστήματος
  • Υπολογισμός των παραμέτρων του εξοπλισμού που είναι απαραίτητος για τη λειτουργία αυτού του πληροφοριακού συστήματος

Τι αξιολογεί το τεστ;

Το τεστ αξιολογεί την απόδοση ολόκληρο το σύνολο του υλικού διακομιστή και του λογισμικού διακομιστήαπό την άποψη των τυπικών εργασιών για συστήματα που εκτελούνται στην πλατφόρμα 1C:Enterprise 8. Δηλαδή, η προκύπτουσα αξιολόγηση δεν αντικατοπτρίζει την απόδοση οποιουδήποτε στοιχείου διακομιστή του συστήματος (για παράδειγμα, ενός διακομιστή που λειτουργεί σε ένα σύμπλεγμα 1C:Enterprise), αλλά μάλλον ολόκληρη τη διαμόρφωση του διακομιστή ως σύνολο. Το τμήμα διακομιστή του συστήματος, η απόδοση του οποίου μετράται με αυτήν τη δοκιμή, περιλαμβάνει:

  • όλοι οι διακομιστές που λειτουργούν που χρησιμοποιούνται για την ανάπτυξη του συμπλέγματος 1C: Enterprise και των διακομιστών DBMS
  • λειτουργικά συστήματα όλων των διακομιστών που λειτουργούν·
  • ρυθμίσεις λειτουργικών συστημάτων, 1C:Enterprise και DBMS.

Κατά τη διάρκεια της δοκιμής, η δοκιμή θα αυξήσει αυτόματα τον αριθμό των ταυτόχρονων χρηστών έως ότου ένα από τα στοιχεία υλικού ή λογισμικού του συστήματος δεν μπορεί πλέον να αντιμετωπίσει το φορτίο. Αυτό θα οδηγήσει σε κακή βαθμολογία απόδοσης και η δοκιμή θα σταματήσει με αποτέλεσμα την τελευταία καλή τιμή. Ταυτόχρονα, τα υπόλοιπα εξαρτήματα μπορεί να υποφορτωθούν σε έναν ή τον άλλο βαθμό.

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

Εάν το τμήμα διακομιστή του συστήματος δεν είναι καλά ισορροπημένο για να λειτουργεί με το 1C:Enterprise, τότε εξαλείφοντας το σημείο συμφόρησης (αντικαθιστώντας ή αναβαθμίζοντας το λιγότερο παραγωγικό στοιχείο) μπορείτε να λάβετε υψηλότερη βαθμολογία απόδοσης.

Λάβετε υπόψη ότι η δοκιμή δεν αξιολογεί την απόδοση του τμήματος πελάτη του συστήματος με κανέναν τρόπο, επομένως αυτός ο παράγοντας θα πρέπει να αποκλειστεί εντελώς. Με άλλα λόγια, οι σταθμοί εργασίας-πελάτες δεν πρέπει να γίνονται εμπόδιο του συστήματος. Αυτό το ζήτημα συζητείται με περισσότερες λεπτομέρειες στο κεφάλαιο «Προετοιμασία του τμήματος πελάτη του πάγκου δοκιμών».

Πώς λειτουργεί το τεστ

Η τυπική δοκιμή φορτίου είναι μια βάση πληροφοριών 1C:Enterprise 8.2 με διαμόρφωση που βασίζεται στη "Manufacturing Enterprise Management". Η διαμόρφωση συνδυάζεται με το Test Center 2.0, το οποίο περιλαμβάνει ένα δοκιμαστικό σενάριο.

Το σενάριο δοκιμών περιλαμβάνει εξομοίωση της επιχειρηματικής διαδικασίας «πωλήσεις στο SCP», και συγκεκριμένα: τη δημιουργία πολλών διαφορετικών εγγράφων, τη δημιουργία αναφορών και άλλες εφαρμοσμένες ενέργειες. Η δοκιμή λειτουργεί σε πλήρη παράλληλη λειτουργία, δηλαδή, κάθε χρήστης λειτουργεί με τα δικά του μοναδικά δεδομένα και δεν υπάρχουν αναμονή για κλειδαριές. Ο χρήστης ολοκληρώνει έναν πλήρη κύκλο πωλήσεων ανά λεπτό.

Η υλοποίηση της υποδομής 1C στο Linux είναι ένα αρχαίο θέμα, αλλά εξακολουθεί να είναι σχετικό. Πρόσφατα δημοσιεύσαμε ένα άρθρο 1C Application Server στο Linux, αλλά το ζήτημα της πραγματικής απόδοσης σε σύγκριση με μια λύση για Windows παρέμεινε ανοιχτό. Οι δοκιμές πραγματοποιήθηκαν επίσης σε χειροκίνητη λειτουργία, αλλά για λόγους αντικειμενικότητας των αποτελεσμάτων, θα δημοσιεύσω τα αποτελέσματα της δοκιμής του Gilev, η οποία πραγματοποιήθηκε στην ίδια πλατφόρμα υλικού χρησιμοποιώντας διαφορετικά λειτουργικά συστήματα: Linux CentOS 7 και MS Windows Server 2012 .

Ως διακομιστής χρησιμοποιήθηκε μια βάση με δύο επεξεργαστές Intel Xeon E5-2670, 8x4 GB μνήμης RAM και έναν Intel SSD.

Συνοπτικός πίνακας των μέσων τιμών των αποτελεσμάτων της δοκιμής Gilev.

Παραδείγματα αποτελεσμάτων







Τα αποδεκτά αποτελέσματα δοκιμών, η ευκολία ανάπτυξης και το χαμηλό κόστος αδειοδότησης μας ώθησαν να δημιουργήσουμε ένα πλήρες προϊόν: Διακομιστής 1C που βασίζεται σε Linux.

Κάθε μοντέλο έχει έναν βολικό διαμορφωτή στον οποίο μπορείτε να επιλέξετε τη βέλτιστη διαμόρφωση για τις εργασίες σας. Εδώ είναι λίγα περισσότερα για αυτό.

Η δημιουργία ενός υπολογιστή υπολογιστικής ισχύος διακομιστή 1C δεν είναι μια ασήμαντη εργασία. Και η δημιουργία ενός καθολικού διαμορφωτή 1C για όλες τις πιθανές περιπτώσεις είναι σχεδόν αδύνατη.

Σίγουρα υπάρχουν πολλοί διαχειριστές στο hub που έχουν τη δική τους ιδέα για το φορτίο και τις απαιτήσεις υπολογιστικής ισχύος των διακομιστών 1C (Τα σχόλιά σας θα αυξήσουν την αξία αυτού του άρθρου). Υπάρχουν επίσης επίσημες συστάσεις 1C στις οποίες όλα θα λειτουργούν σε όλα...

Ωστόσο, εξακολουθούν να υπάρχουν βασικές παράμετροι που μπορούν να υπολογιστούν, που ισχύουν για ένα τυπικό σχήμα λειτουργίας. Γνωρίζοντας πόσους πόρους επεξεργαστή και μνήμης RAM καταναλώνει μια περίοδος σύνδεσης τερματικού, πόσα IOPS SQL θα απαιτήσει για έναν συγκεκριμένο αριθμό χρηστών και με βάση τα αποτελέσματα πολλών δοκιμών, έχουμε αναπτύξει έναν διαμορφωτή για μια τυπική λύση για 1C.

Φυσικά, κάθε περίπτωση είναι μοναδική και απαιτεί λεπτομερή προπώληση, αλλά για έναν κατά προσέγγιση υπολογισμό αρκεί να αναφέρετε τον αριθμό των χρηστών, τον τύπο της βάσης δεδομένων, τον όγκο της τρέχουσας βάσης δεδομένων και να επιλέξετε τις απαραίτητες άδειες χρήσης.

Για να συγκρίνετε το κόστος μιας έτοιμης λύσης βασισμένης σε Linux και Windows, θα δώσω ένα παράδειγμα από τον διαμορφωτή με τιμές λιανικής.

Ένας διακομιστής για 20 χρήστες με βάση δεδομένων SQL έως 80 GB, άδεια 1C: Accounting 8 PROF, βασισμένη σε Linux CentOS θα κοστίζει 522.759,43 RUB. Παρόμοια διαμόρφωση που βασίζεται σε Windows - RUB 1.036.279.43.

Η γκάμα διακομιστών για 1C STSS Flagman αποτελείται από 3 μοντέλα τόσο για Linux όσο και για Windows.


1C113.5-020UL- Διακομιστής εισαγωγικού επιπέδου 1C, υποστήριξη για έως και 20 χρήστες με βάση δεδομένων SQL. Ο χώρος στο δίσκο υπολογίζεται λαμβάνοντας υπόψη την αύξηση της βάσης δεδομένων κατά 20% ετησίως για 3 χρόνια. Η συστοιχία RAID1 βασίζεται σε Intel Enterprise SSD. Είναι δυνατή η εγκατάσταση διπλού τροφοδοτικού και πρόσθετων δίσκων για «κρύα» δεδομένα. Διατίθεται μια επιλογή υπηρεσιών λογισμικού: PostgreSQL, xrdp και httpd.

1C216.4-200UL- ένα μοντέλο που βασίζεται σε μια πλατφόρμα 2 επεξεργαστών που διασφαλίζει τη λειτουργία της υποδομής 1C για έως και 200 ​​ταυτόχρονες συνδέσεις. Η αποθήκευση υπολογίζεται σύμφωνα με την ίδια αρχή - το μέγεθος της βάσης δεδομένων λαμβάνοντας υπόψη την ανάπτυξη, αλλά είναι χτισμένο με βάση μια συστοιχία RAID10 4xSSD του απαιτούμενου όγκου.

1C217.2-050UL-ΑΝΑΦ- αυτή είναι μια λύση για πελάτες με περιορισμένο προϋπολογισμό, που δημιουργήθηκε με βάση έναν διακομιστή που έχει αποκατασταθεί στην παραγωγή μας (μετά από αντικατάσταση εγγύησης, κεφάλαιο επίδειξης κ.λπ.) Οι διακομιστές υποβάλλονται στις ίδιες δοκιμές φόρτωσης πριν από την αποστολή με τα νέα μοντέλα, αλλά έχουν μειωμένη περίοδος εγγύησης (1 έτος). Ο διακομιστής υποστηρίζει έως και 50 συνδέσεις και, εξαιρουμένων των αδειών, κοστίζει μόνο 203.705,00 RUB, με συστοιχία για βάση δεδομένων 40 GB.


1C113.5-020UW- Διακομιστής εισαγωγικού επιπέδου 1C, υποστήριξη για έως και 20 χρήστες με βάση δεδομένων SQL. Ο χώρος στο δίσκο υπολογίζεται λαμβάνοντας υπόψη την αύξηση της βάσης δεδομένων κατά 20% ετησίως για 3 χρόνια. Η συστοιχία RAID1 βασίζεται σε Intel Enterprise SSD. Είναι δυνατή η εγκατάσταση διπλού τροφοδοτικού και πρόσθετων δίσκων για «κρύα» δεδομένα.

1C216.4-200UW- Μοντέλο που βασίζεται σε Windows που υποστηρίζει έως και 200 ​​χρήστες. Η αποθήκευση είναι χτισμένη με βάση μια συστοιχία RAID10 4xSSD του απαιτούμενου όγκου.

1C217.2-050UW-ΑΝΑΦ- ίδια πλατφόρμα με τη λύση που βασίζεται σε Linux. Επιλογή προϋπολογισμού για 50 συνδέσεις, 1 έτος εγγύηση.

Οι ακόλουθες άδειες μπορούν να επιλεγούν ως πλατφόρμα 1C σε όλα τα μοντέλα:

1Γ: Διοίκηση μικρής εταιρείας 8 ΠΡΟΦ
1Γ: Εμπορική διαχείριση 8 ΠΡΟΦ
1Γ: Λογιστική 8 ΚΑΘ
1C: Accounting 8 CORP
1Γ: Μισθοδοσία και διαχείριση προσωπικού 8 ΚΑΘ
1Γ: Μισθός και διαχείριση προσωπικού 8 CORP
1C: Ροή εγγράφων 8 ΠΡΟΦ
1C: Ροή εγγράφων 8 KORP

Εάν ο πελάτης έχει επαρκή τεχνογνωσία για να επιλέξει διακομιστή για 1C, μπορεί να χρησιμοποιήσει κλασικά μοντέλα εξοπλισμού διακομιστή. Αλλά αν δεν υπάρχει τέτοια τεχνογνωσία, τότε, ελπίζω, ο διαμορφωτής διακομιστή μας για 1C θα σας βοηθήσει να κάνετε τη βέλτιστη επιλογή συστήματος.

Σας ευχαριστώ για την προσοχή σας! Ελπίζω ότι οι χρήστες habra κοντά σε αυτό το θέμα θα μοιραστούν την εμπειρία τους στην επιλογή εξοπλισμού για 1C στα σχόλια.



 

Ίσως είναι χρήσιμο να διαβάσετε: