Berbagi teknologi

Konfigurasi dan optimasi NoSQL REDIS

2024-07-12

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

1. Pengantar Redis

Redis (Remote Dictionary Server) adalah database NoSQL open source yang ditulis dalam bahasa C. Ini berjalan berdasarkan memori dan mendukung persistensi, menggunakan bentuk penyimpanan nilai kunci. Redis banyak digunakan dalam caching, sistem analisis real-time, pemeringkatan, dan skenario lainnya karena kinerjanya yang tinggi, dukungan tipe data yang kaya, dan operasi atom.
Program server Redis adalah model proses tunggal, yaitu beberapa proses Redis dapat dimulai secara bersamaan di satu server, dan kecepatan pemrosesan Redis yang sebenarnya sepenuhnya bergantung pada efisiensi eksekusi proses utama. Jika hanya satu proses Redis yang berjalan di server, ketika beberapa klien mengaksesnya secara bersamaan, kemampuan pemrosesan server akan menurun hingga batas tertentu; jika beberapa proses Redis dibuka di server yang sama, Redis akan meningkatkan kemampuan pemrosesan secara bersamaan. Pada saat yang sama, ini akan memberikan banyak tekanan pada CPU server. Yaitu: Dalam lingkungan produksi aktual, Anda perlu memutuskan berapa banyak proses Redis yang akan dimulai berdasarkan kebutuhan aktual. Jika Anda memiliki persyaratan yang lebih tinggi untuk konkurensi tinggi, Anda dapat mempertimbangkan untuk memulai beberapa proses di server yang sama. Jika sumber daya CPU terbatas, satu proses dapat digunakan.

2. Instalasi Redis di Linux

Ada beberapa metode berikut untuk menginstal Redis di Linux:

1. Instal menggunakan manajer paket

Untuk sebagian besar distribusi Linux, Redis dapat diinstal langsung menggunakan manajer paket.Misalnya di Ubuntu atau Debian, Anda bisa menggunakanapt-getMemesan:

bash复制代码

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

Di CentOS atau Red Hat, gunakanyumMemesan:

bash复制代码

sudo yum update
sudo yum install redis

2. Kompilasi dan instal dari kode sumber

Metode instalasi lainnya adalah dengan mengunduh kode sumber dari situs resmi Redis, lalu kompilasi dan instal. Lanjutkan sebagai berikut:

  1. Instal alat kompilasi

    Pertama, Anda perlu menginstal alat kompilasi seperti gcc.Di CentOS atau Red Hat, Anda dapat menggunakanyumInstall:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Unduh kode sumber Redis

    Unduh paket terkompresi terbaru (seperti redis-6.xxtar.gz) dari situs resmi Redis.

  3. Kompilasi dan instal

    Buka zip paket terkompresi yang diunduh, masuk ke direktori dekompresi, dan jalankan perintah kompilasi dan instalasi:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Konfigurasikan layanan Redis

    Anda dapat menggunakan apa yang disediakan Redisinstall_server.shSkrip untuk menyiapkan layanan Redis, atau mengonfigurasinya secara manual.

3. Konfigurasi dan optimasi Redis

1. File konfigurasi

File konfigurasi untuk Redis biasanyaredis.conf, Anda dapat mengonfigurasi berbagai parameter Redis dengan memodifikasi file ini.

  • Ikat alamat : Secara default, Redis hanya menerima koneksi dari antarmuka lokal.Jika Anda ingin Redis menerima koneksi dari host lain, Anda perlu memodifikasinyabindopsi atau komentari baris tersebut.
  • mode terlindungi : Redis berjalan dalam mode terproteksi secara default dan hanya menerima koneksi dari 127.0.0.1. Menonaktifkan mode terproteksi memungkinkan koneksi jarak jauh.
  • Otentikasi kata sandi: Untuk meningkatkan keamanan, Anda dapat mengatur kata sandi untuk Redis.
  • Kegigihan : Redis mendukung dua mekanisme persistensi: RDB dan AOF. Persistensi dapat diaktifkan dengan mengatur opsi di file konfigurasi.
  • Batas memori maksimum: Anda dapat mengatur penggunaan memori maksimum Redis dan strategi eliminasi ketika memori maksimum tercapai.

2. Optimalisasi kinerja

Pengoptimalan kinerja Redis terutama mencakup kontrol alokasi memori, pengaturan swappiness, pengoptimalan koneksi jaringan, dll.

  • Kontrol alokasi memori

    dalam sistem operasi Linuxvm.overcommit_memory Parameter mengontrol strategi alokasi memori. Redis merekomendasikan pengaturan ini ke 1 sehingga operasi fork dapat dilakukan dengan sukses bahkan dalam situasi memori rendah.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • pengaturan pertukaran

    Parameter swappiness menentukan kecenderungan sistem operasi untuk menggunakan swap. Untuk aplikasi yang memerlukan konkurensi tinggi dan throughput tinggi, disarankan untuk mengatur swappiness ke nilai yang lebih rendah untuk mengurangi kemungkinan IO disk menjadi hambatan sistem.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Optimalisasi koneksi jaringan

    Pastikan koneksi jaringan stabil dan kurangi penundaan jaringan dan kehilangan paket.Pada saat yang sama, konfigurasikan parameter TCP Redis secara wajar, sepertitcp-keepalivedll. untuk meningkatkan stabilitas dan keandalan koneksi jaringan.

3. Pemantauan dan Debug

  • Lihat status Redis

    bisa menggunakanredis-cliPerintah untuk terhubung ke server Redis dan mengeksekusiINFOperintah untuk melihat status Redis saat ini, termasuk penggunaan memori, status persistensi, jumlah koneksi, dll.

  • Lihat file log

    File log Redis biasanya terletak di/var/log/redis/redis-server.log, Anda dapat memperoleh informasi kesalahan dan status berjalan dengan melihat file log.