Meskipun saya bisa menggunakan memcached pada Debian untuk menggunakan port 11211 default, tapi saya mengalami kesulitan besar mengatur soket Unix.
Dari apa yang saya baca, saya tahu bahwa saya perlu membuat memcache.socket
dan menambahkan:
-s /path/to/memcache.socket
-a 0766
Ke /etc/memcached.conf
dan mengomentari port koneksi default dan IP, yaitu
-p 11211
-l 127.0.0.1
Namun, ketika saya me-restart memcached saya mendapatkan kesalahan server internal di situs Drupal.
Saya mencoba menerapkan soket unix untuk menghindari TCP / IP overhead dan meningkatkan kinerja memcached keseluruhan, namun tidak yakin berapa banyak peningkatan kinerja yang dapat diharapkan dari tweak ini.
Saya menghargai petunjuk Anda atau mungkin mengkonfigurasi untuk menyelesaikan ini.
Jawaban:
Anda mungkin menemukan bahwa pengaturan jalur soket tidak berfungsi. Memcached menjatuhkan hak istimewa sebelum membuat soketnya, meskipun setelah itu dituliskan PID-nya. Adalah umum untuk memasukkan socket
/var/run
(mis. Seperti mysql), tetapi hanya root yang bisa menulis di sana, jadi buat/var/run/memcached
dan gantilah ke siapa-siapa, lalu setel/var/run/memcached/memcached.sock
sebagai path socket. Menulisnya untuk/tmp
bekerja juga, tetapi pada dasarnya sifatnya yang bisa dihancurkan; menempel di/var/run
sedikit lebih permanen.Anda dapat memeriksa apakah itu berfungsi dengan menggunakan netcat untuk terhubung dengannya:
nc -U /var/run/memcached/memcached.sock
Ketikkan saja
stats
pada prompt kosong; jika berhasil Anda akan mendapatkan banyak output.sumber
nobody
tidak bisa menulis ke folder yang dimiliki root tanpa izin yang sesuai.Saya percaya soket harus dapat dieksekusi dunia, tidak dapat ditulisi. Jika Anda melihat pesan pemberitahuan PHP yang mengandung errno = 32 Pipa rusak , sesuaikan penutup akses Memcached ke 0755
Juga verifikasi bahwa daemon Memcached Drupal memiliki port TCP
0
dalam konfigurasi. Port yang tidak disetel akan default ke11211
, dan membingungkan koneksi soket.sumber
ditambahkan ke / etc / default / memcached:
ditambahkan ke /etc/memcached.conf:
sumber
Saya membandingkan peningkatan kinerja menggunakan soket unix memcached, itu 33% lebih cepat untuk menggunakan soket unix dalam pengujian saya menggunakan php cli.
Saya menemukan bahwa penting untuk menambahkan pengguna memcache ke grup www-data dan memberikan izin unix socket 775, dengan cara ini baik penangan php dan pengguna memcache dapat menjalankannya.
Anda dapat menemukan tolok ukur dan menulis di sini - meskipun untuk WordPress itu harus berfungsi untuk Drupal karena sangat mungkin merupakan masalah izin.
sumber
Catatan jika Anda menggunakan wadah alpine di Kubernetes pod spec dengan probe kesehatan akan terlihat seperti ini:
Butuh waktu beberapa saat untuk mengetahui pengaturan yang tepat, dan bagaimana menghubungkan ke soket domain lokal unix melalui busybox.
sumber