PHP ve Python uygulamalarınızla Memcached sunucusunu kullanarak veritabanı performansınızı optimize edin
Web uygulamalarınızdaki yavaşlamalara neden olan yüksek Veritabanı yükünün acısını hiç hissettiyseniz ve “DB sorgularının neden olduğu gecikmeyi azaltmanın bir yolu var mı?” diye merak ettiyseniz, bu sorunun cevabı büyük bir evet. Memcached dost canlısı bir mahalle bellek önbellek arka plan programı, tüm sıkıntılarınızı çözmek için burada! DB'yi önbelleğe almak, DB yükünü hafifletmek ve dinamik web uygulamalarını hızlandırmak için en basit yöntemlerden biridir.
Memcached kendisini yüksek performanslı, dağıtılmış bellek nesnesi önbelleğe alma sistemi olarak tanımlar, doğası gereği geneldir, ancak başlangıçta veritabanı yükünü hafifleterek dinamik web uygulamalarını hızlandırmak için tasarlanmıştır. 2003 yılında Brad Fitzpatrick tarafından LiveJournal web sitesi için geliştirildi.
Bu yazıda, Ubuntu 20.04'te Memcached'in nasıl kurulacağına ve yapılandırılacağına ve dile özgü istemcilerine bakacağız.
Önkoşullar
Yönetici haklarına sahip bir kullanıcıyla Ubuntu 20.04 ile kurulan bir sistem, yani sudo
kullanıcı.
Kurulum
Memcached, resmi Ubuntu 20.04 deposunda mevcuttur, Memcached'e ek olarak, olarak bilinen bir CLI aracı da yükleyeceğiz. libmemcached-tools
Memcached'i yönetmek için. Her ikisini de yüklemek için aşağıdaki komutu çalıştırmanız yeterlidir
sudo apt memcached libmemcached araçları yükleyin
Kurulumu Doğrula
Kurulum tamamlandıktan sonra Memcached arka plan programı kendi kendine arka planda başlar. Kurulumu doğrulamak için şu komutu kullanabiliriz: libmemcached-tools
Memcached sunucu istatistiklerini almak için paket. Ya koş
memcstat --servers localhost
veya
memcstat --servers 127.0.0.1
bu memcstat
komutu, çalışan sunucunun istatistiklerini gösterir. Yukarıdaki komut, aşağıda görüntülenen çıktıyla sonuçlanacaktır.
gibi çeşitli istatistikler çalışma süresi
saniyeler içinde, versiyon
ve pid
çıktı olarak görüntülenecektir. Ancak, herhangi bir çıktı görüntülenmezse, Memcached çalışmıyor olabilir. Bu nedenle Memcached sunucusunu başlatmak için aşağıdaki komutu çalıştırmalısınız.
sudo systemctl memcached başlat
Memcached sunucusunu sistem başlangıcında çalıştırmak için aşağıdaki komutu kullanın.
sudo systemctl memcached'i etkinleştir
Memcached'i Yapılandırma
Memcached'inizi web sitesi sunucusunun kendisinde kurduysanız, memcached localhost ile çalışmak üzere önceden yapılandırıldığından yapılandırma dosyasını değiştirmenize gerek yoktur.
Öte yandan, Memcached'i ayrı bir sisteme kurduysanız, uzak sunucunun Memcached sunucusuna erişmesine izin vermek için yapılandırmayı değiştirmeniz gerekecektir.
Memcached Sunucusu için Uzaktan Erişimi Ayarlama
Memcached, DDoS (Dağıtılmış Hizmet Reddi) saldırılarına karşı savunmasızdır. Yanlış güvenlik duvarı kuralı ve açık UDP bağlantı noktaları, sunucunuzu açık ve DDoS saldırılarına karşı savunmasız bırakır.
Riski azaltmak için, yapılandırmada Memcached için UDP protokolünü devre dışı bırakabilir veya yalnızca güvenilir sunuculara izin vermek için güvenlik duvarı kurabiliriz.
Kutudan çıktığı gibi Ubuntu, TCP veya UDP bağlantı noktaları açık olmadan gönderilir. Ayrıca, güvenlik duvarı arka plan programı ufw
(karmaşık olmayan Güvenlik Duvarı) varsayılan olarak etkin değildir.
Güvenlik duvarını etkinleştireceğiz ve DDoS güvenlik açığını azaltabilmemiz için Memcached yapılandırmasını ayarlayacağız.
İlk olarak, etkinleştirin ufw
aşağıdaki komutu çalıştırarak:
sudo systemctl ufw'yi etkinleştir
sonra başla ufw
aşağıdaki komutu çalıştırarak hizmet:
sudo systemctl ufw'yi başlat
Güvenlik Duvarı çalışırken, nihayet güvenlik duvarı kurallarını kurabiliriz. İlk olarak, SSH bağlantılarına izin vermek için 22 numaralı bağlantı noktasını etkinleştirin. İstenilen sunucuya uzaktan erişmek için SSH gereklidir.
sudo ufw 22'ye izin veriyor
İkinci olarak, istemcinin IP adresini, yani web uygulaması ana bilgisayarını ve sunucunun IP adresini, yani Memcached sunucusunu bilmeniz gerekir.
Bu örnek için, İstemci IP'sinin 192.168.0.4
ve Memcached sunucu IP'si 192.168.0.5
yerel bir ağda.
Bu nedenle, memcached sunucunun istemci sunucusuna uzaktan erişimine izin vermek için şunu çalıştırın:
sudo ufw, 192.168.0.4'ten herhangi bir 11211 numaralı bağlantı noktasına izin verir
değiştirin 192.168.0.4
istediğiniz İstemci IP adresiyle.
Ardından, adresinde bulunan Memcached yapılandırma dosyasını düzenleyin. /etc/memcached.conf
koşarak nano
emretmek.
sudo nano /etc/memcached.conf
bu memcached.conf
konfigürasyon dosyası nano düzenleyici ile açılacaktır, -l 127.0.0.1
yapılandırmada satır ve değiştirin 127.0.0.1
Memcached Sunucu IP'niz ile veya bu durumda 192.168.0.5
.
Basın değiştirdikten sonra ctrl+o
yapılandırma dosyasına yazmak ve enter tuşuna basmak için ctrl+x
nanodan çıkmak için
Memcached sunucusunu yeniden başlatın ve ufw
Aşağıdaki komutu çalıştırarak güvenlik duvarı.
sudo systemctl memcached ufw'yi yeniden başlat
Şimdi Ubuntu 20.04 üzerinde Memcached sunucusunun kurulumunu ve konfigürasyonunu bitirdik.
Memcached Sunucuya Bağlanma
Memcached sunucusunu kullanmak için dile özgü bir istemci kurmanız gerekir. Neyse ki, Memcached birçok popüler dili desteklemektedir.
Böylece nasıl kurulacağını görelim php
ve piton
Memcached için istemci.
PHP en popüler sunucu tarafı betik dilidir ve Memcached çoğunlukla web geliştiricileri tarafından PHP tarafından desteklenen web uygulamalarının sunucu performansını iyileştirmek için kullanılır.
PHP'de memcached desteği kurmak için, Çalıştırmak:
sudo apt php memcached yükleyin
Python'un da Memcached sunucusuyla çalışabilen ve etkileşime girebilen çeşitli kitaplıkları vardır. önbelleğe alınmış
veya python-memcached
.
Aşağıdaki pip komutlarını çalıştırarak memcached for python'u yükleyebilirsiniz:
pip kurulum pymemcache
pip yükleme python-memcached
Sonuç olarak, Ubuntu 20.04'te kurulum, yapılandırma ve birkaç dile özgü Memcached istemcisine baktık.
Memcached'in daha ayrıntılı ve gelişmiş kullanımını öğrenmek için Memcached Wiki'ye bir göz atın.