Optimumkan prestasi pangkalan data anda dengan menggunakan pelayan Memcached dengan aplikasi PHP dan Python anda
Jika anda pernah merasakan kesakitan beban Pangkalan Data yang tinggi menyebabkan kelembapan dalam apl web anda dan tertanya-tanya "Adakah terdapat cara untuk mengurangkan kependaman yang disebabkan oleh pertanyaan DB?", maka jawapan kepada soalan itu ialah ya yang besar. Memcached daemon cache memori kejiranan yang mesra ada di sini untuk menyelesaikan semua masalah anda! Caching DB ialah salah satu kaedah paling mudah untuk mengurangkan beban DB dan mempercepatkan aplikasi web dinamik.
Memcached mentakrifkan dirinya sebagai sistem caching objek memori teragih berprestasi tinggi, bersifat generik, tetapi pada asalnya bertujuan untuk digunakan dalam mempercepatkan aplikasi web dinamik dengan mengurangkan beban pangkalan data. Dibangunkan oleh Brad Fitzpatrick untuk laman webnya LiveJournal pada tahun 2003.
Dalam artikel ini, kita akan melihat cara memasang dan mengkonfigurasi Memcached dalam Ubuntu 20.04 dan melihat klien khusus bahasanya.
Prasyarat
Sistem yang dipasang dengan Ubuntu 20.04 dengan pengguna dengan hak pentadbiran, iaitu a sudo
pengguna.
Pemasangan
Memcached tersedia pada repositori rasmi Ubuntu 20.04, sebagai tambahan kepada Memcached kami juga akan memasang alat CLI yang dikenali sebagai libmemcached-tools
untuk menguruskan Memcached. Jalankan sahaja arahan berikut untuk memasang kedua-duanya
sudo apt install memcached libmemcached-tools
Sahkan Pemasangan
Selepas pemasangan selesai, daemon Memcached bermula di latar belakang dengan sendirinya. Untuk mengesahkan pemasangan, kita boleh menggunakan arahan daripada libmemcached-tools
pakej untuk mendapatkan statistik pelayan Memcached. Sama ada lari
memcstat --servers localhost
atau
memcstat --servers 127.0.0.1
The memcstat
arahan menunjukkan statistik pelayan yang sedang berjalan. Perintah di atas akan menghasilkan output dipaparkan di bawah.
Pelbagai statistik seperti masa beroperasi
dalam beberapa saat, versi
dan pid
akan dipaparkan sebagai output. Walau bagaimanapun, jika tiada output dipaparkan, ada kemungkinan Memcached tidak berjalan. Oleh itu, anda mesti menjalankan arahan berikut untuk memulakan pelayan Memcached.
sudo systemctl mula memcached
Untuk menjalankan pelayan Memcached pada permulaan sistem gunakan arahan berikut.
sudo systemctl membolehkan memcached
Mengkonfigurasi Memcached
Jika anda telah memasang memcached anda pada pelayan laman web itu sendiri, tidak perlu menukar fail konfigurasi kerana memcached diprakonfigurasikan untuk berfungsi dengan localhost.
Sebaliknya, jika anda telah memasang Memcached pada sistem yang berasingan, anda perlu menukar konfigurasi untuk membenarkan akses pelayan jauh ke pelayan Memcached.
Menyediakan Akses Jauh untuk Pelayan Memcached
Memcached terdedah kepada serangan DDoS (Distributed Denial of Service). Peraturan tembok api yang salah dan port UDP terbuka akan menyebabkan pelayan anda terbuka dan terdedah kepada serangan DDoS.
Untuk mengurangkan risiko, kami boleh sama ada melumpuhkan protokol UDP untuk Memcached dalam konfigurasi atau menyediakan tembok api hanya untuk membenarkan pelayan yang dipercayai.
Di luar kotak, Ubuntu dihantar tanpa port TCP atau UDP terbuka. Tambahan pula, daemon firewall ufw
(Tembok Api tidak rumit) tidak didayakan secara lalai.
Kami akan mendayakan tembok api dan menyediakan konfigurasi Memcached supaya kami boleh mengurangkan kerentanan DDoS.
Pertama, dayakan ufw
dengan menjalankan arahan berikut:
sudo systemctl membolehkan ufw
Kemudian mulakan ufw
perkhidmatan dengan menjalankan arahan di bawah:
sudo systemctl mulakan ufw
Dengan Firewall berjalan, akhirnya kita boleh menyediakan peraturan firewall. Pertama, dayakan port 22 untuk membenarkan sambungan SSH. SSH diperlukan untuk mengakses pelayan yang dikehendaki dari jauh.
sudo ufw benarkan 22
Kedua, anda perlu mengetahui alamat IP klien, iaitu hos aplikasi web dan alamat IP pelayan, iaitu pelayan Memcached.
Untuk contoh ini, mari kita anggap IP Pelanggan adalah 192.168.0.4
dan IP pelayan Memcached menjadi 192.168.0.5
pada rangkaian tempatan.
Jadi untuk membenarkan akses jauh pelayan memcached ke pelayan pelanggan, jalankan:
sudo ufw membenarkan dari 192.168.0.4 ke mana-mana port 11211
Gantikan 192.168.0.4
dengan alamat IP Pelanggan yang anda inginkan.
Seterusnya, edit fail konfigurasi Memcached yang terletak di /etc/memcached.conf
dengan berlari nano
perintah.
sudo nano /etc/memcached.conf
The memcached.conf
fail konfigurasi akan dibuka dengan editor nano, cari fail -l 127.0.0.1
baris dalam konfigurasi dan ganti 127.0.0.1
dengan IP Pelayan Memcached anda atau dalam hal ini 192.168.0.5
.
Selepas menggantikan akhbar ctrl+o
untuk menulis ke fail konfigurasi dan tekan enter, tekan ctrl+x
untuk keluar dari nano.
Mulakan semula pelayan Memcached dan ufw
firewall dengan menjalankan arahan di bawah.
sudo systemctl mulakan semula memcached ufw
Sekarang kita telah selesai dengan pemasangan dan konfigurasi pelayan Memcached pada Ubuntu 20.04.
Menyambung ke Pelayan Memcached
Untuk menggunakan pelayan Memcached, anda perlu memasang klien khusus bahasa. Nasib baik, Memcached mempunyai sokongan untuk banyak bahasa popular.
Oleh itu mari kita lihat cara memasang php
dan ular sawa
pelanggan untuk Memcached.
PHP ialah bahasa skrip sebelah pelayan yang paling popular dan Memcached kebanyakannya digunakan oleh pembangun web untuk meningkatkan prestasi pelayan aplikasi web yang dikuasakan oleh PHP.
Untuk memasang sokongan memcached dalam php, lari:
sudo apt install php-memcached
Python juga mempunyai beberapa perpustakaan yang boleh berfungsi dan berinteraksi dengan pelayan Memcached seperti pymemcached
atau python-memcached
.
Anda boleh memasang memcached untuk python dengan menjalankan arahan pip berikut:
pip pasang pymemcache
pip pasang python-memcached
Kesimpulannya, kami telah melihat pemasangan, konfigurasi dan beberapa pelanggan khusus bahasa Memcached dalam Ubuntu 20.04.
Untuk mengetahui lebih lanjut penggunaan Memcached secara terperinci dan lanjutan, sila lihat Memcached Wiki.