Κοινή χρήση τεχνολογίας

Διαμόρφωση και βελτιστοποίηση NoSQL REDIS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Εισαγωγή στο Redis

Το Redis (Remote Dictionary Server) είναι μια βάση δεδομένων ανοιχτού κώδικα NoSQL γραμμένη σε γλώσσα C. Εκτελείται με βάση τη μνήμη και υποστηρίζει τη σταθερότητα, χρησιμοποιώντας τη φόρμα αποθήκευσης κλειδιού-τιμής. Το Redis χρησιμοποιείται ευρέως σε κρυφή μνήμη, συστήματα ανάλυσης σε πραγματικό χρόνο, ταξινομήσεις και άλλα σενάρια λόγω της υψηλής απόδοσης, της πλούσιας υποστήριξης τύπων δεδομένων και των ατομικών λειτουργιών του.
Το πρόγραμμα διακομιστή Redis είναι ένα μοντέλο μιας διαδικασίας, δηλαδή, πολλές διεργασίες Redis μπορούν να ξεκινήσουν ταυτόχρονα σε έναν διακομιστή και η πραγματική ταχύτητα επεξεργασίας του Redis εξαρτάται πλήρως από την αποτελεσματικότητα εκτέλεσης της κύριας διαδικασίας. Εάν εκτελείται μόνο μία διεργασία Redis στον διακομιστή, όταν πολλαπλοί πελάτες έχουν πρόσβαση σε αυτήν την ίδια στιγμή, η ικανότητα επεξεργασίας του διακομιστή θα μειωθεί σε κάποιο βαθμό εάν ανοίξουν πολλές διεργασίες Redis στον ίδιο διακομιστή, το Redis θα βελτιώσει τις δυνατότητες ταυτόχρονης επεξεργασίας. Ταυτόχρονα, θα ασκήσει μεγάλη πίεση στην CPU του διακομιστή. Δηλαδή: Στο πραγματικό περιβάλλον παραγωγής, πρέπει να αποφασίσετε πόσες διαδικασίες Redis θα ξεκινήσετε με βάση τις πραγματικές ανάγκες. Εάν έχετε υψηλότερες απαιτήσεις για υψηλή συγχρονικότητα, μπορείτε να εξετάσετε το ενδεχόμενο να ξεκινήσετε πολλές διεργασίες στον ίδιο διακομιστή. Εάν οι πόροι της CPU είναι περιορισμένοι, μπορεί να χρησιμοποιηθεί μία μόνο διαδικασία.

2. Εγκατάσταση του Redis σε Linux

Υπάρχουν κυρίως οι ακόλουθες μέθοδοι για να εγκαταστήσετε το Redis σε Linux:

1. Εγκαταστήστε χρησιμοποιώντας έναν διαχειριστή πακέτων

Για τις περισσότερες διανομές Linux, το Redis μπορεί να εγκατασταθεί απευθείας χρησιμοποιώντας έναν διαχειριστή πακέτων.Για παράδειγμα, στο Ubuntu ή στο Debian, μπορείτε να χρησιμοποιήσετεapt-getΣειρά:

bash复制代码

sudo apt-get update
sudo apt-get install redis-server

Σε CentOS ή Red Hat, χρησιμοποιήστεyumΣειρά:

bash复制代码

sudo yum update
sudo yum install redis

2. Μεταγλώττιση και εγκατάσταση από τον πηγαίο κώδικα

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

  1. Εγκατάσταση εργαλείων μεταγλώττισης

    Αρχικά, πρέπει να εγκαταστήσετε εργαλεία μεταγλώττισης όπως το gcc.Σε CentOS ή Red Hat, μπορείτε να χρησιμοποιήσετεyumΕγκαθιστώ:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Κατεβάστε τον πηγαίο κώδικα του Redis

    Κατεβάστε το πιο πρόσφατο συμπιεσμένο πακέτο (όπως το redis-6.xxtar.gz) από τον επίσημο ιστότοπο του Redis.

  3. Μεταγλώττιση και εγκατάσταση

    Αποσυμπιέστε το ληφθέν συμπιεσμένο πακέτο, εισαγάγετε τον κατάλογο αποσυμπίεσης και εκτελέστε τις εντολές μεταγλώττισης και εγκατάστασης:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Διαμόρφωση υπηρεσίας Redis

    Μπορείτε να χρησιμοποιήσετε αυτό που παρέχει το Redisinstall_server.shΣενάριο για να ρυθμίσετε την υπηρεσία Redis ή να τη διαμορφώσετε με μη αυτόματο τρόπο.

3. Διαμόρφωση και βελτιστοποίηση Redis

1. Αρχείο διαμόρφωσης

Το αρχείο ρυθμίσεων για το Redis είναι συνήθωςredis.conf, μπορείτε να διαμορφώσετε διάφορες παραμέτρους του Redis τροποποιώντας αυτό το αρχείο.

  • Δέσμευση διεύθυνσης : Από προεπιλογή, το Redis δέχεται συνδέσεις μόνο από την τοπική διεπαφή.Εάν θέλετε το Redis να δέχεται συνδέσεις από άλλους κεντρικούς υπολογιστές, πρέπει να το τροποποιήσετεbindεπιλογή ή σχολιάστε τη γραμμή.
  • προστατευμένη λειτουργία : Το Redis εκτελείται σε προστατευμένη λειτουργία από προεπιλογή και δέχεται συνδέσεις μόνο από την 127.0.0.1. Η απενεργοποίηση της προστατευμένης λειτουργίας επιτρέπει απομακρυσμένες συνδέσεις.
  • Έλεγχος ταυτότητας με κωδικό πρόσβασης: Για να βελτιώσετε την ασφάλεια, μπορείτε να ορίσετε έναν κωδικό πρόσβασης για το Redis.
  • επιμονή : Το Redis υποστηρίζει δύο μηχανισμούς επιμονής: RDB και AOF. Το Persistence μπορεί να ενεργοποιηθεί ορίζοντας επιλογές στο αρχείο διαμόρφωσης.
  • Μέγιστο όριο μνήμης: Μπορείτε να ορίσετε τη μέγιστη χρήση μνήμης του Redis και τη στρατηγική εξάλειψης όταν επιτευχθεί η μέγιστη μνήμη.

2. Βελτιστοποίηση απόδοσης

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

  • Έλεγχος εκχώρησης μνήμης

    σε λειτουργικό σύστημα Linuxvm.overcommit_memory Οι παράμετροι ελέγχουν τη στρατηγική εκχώρησης μνήμης. Η Redis συνιστά να το ορίσετε σε 1, έτσι ώστε οι λειτουργίες περόνης να μπορούν να εκτελούνται με επιτυχία ακόμη και σε περιπτώσεις χαμηλής μνήμης.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • ρυθμίσεις εναλλαγής

    Η παράμετρος swappiness καθορίζει την τάση του λειτουργικού συστήματος να χρησιμοποιεί swap. Για εφαρμογές που απαιτούν υψηλή ταυτόχρονη απόδοση και υψηλή απόδοση, συνιστάται να ρυθμίσετε το swappiness σε χαμηλότερη τιμή για να μειώσετε την πιθανότητα το IO του δίσκου να γίνει συμφόρηση συστήματος.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Βελτιστοποίηση σύνδεσης δικτύου

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

3. Παρακολούθηση και εντοπισμός σφαλμάτων

  • Προβολή κατάστασης Redis

    μπορεί να χρησιμοποιηθείredis-cliΕντολή για σύνδεση στον διακομιστή Redis και εκτέλεσηINFOεντολή για προβολή της τρέχουσας κατάστασης του Redis, συμπεριλαμβανομένης της χρήσης μνήμης, της κατάστασης εμμονής, του αριθμού των συνδέσεων κ.λπ.

  • Προβολή αρχείων καταγραφής

    Τα αρχεία καταγραφής Redis βρίσκονται συνήθως στο/var/log/redis/redis-server.log, μπορείτε να λάβετε πληροφορίες σφάλματος και κατάσταση λειτουργίας προβάλλοντας το αρχείο καταγραφής.