Waktu respons lama untuk Mage_Core_Model_Session_Abstract_Varien :: start

15

Jadi saya telah memperhatikan di New Relic di banyak situs kami, banyak pemuatan halaman panjang kami terjadi karena Mage_Core_Model_Session_Abstract_Varien :: start. Saya telah melakukan penelitian dan belum pernah melihat orang lain membicarakan hal ini.

Kami menggunakan Nginx, PHP FPM, Redis untuk Caching dan Memcache untuk sesi. Beberapa ide saya adalah mungkin itu adalah sesuatu yang lain yang berlangsung selamanya dan sepertinya memuat sesi adalah masalahnya. Atau entah bagaimana ada beberapa kode khusus menambahkan banyak data ke sesi yang menyebabkan sesi besar.

Saya tidak memiliki pengetahuan dalam hal sesi dan bagaimana mereka dikelola, namun saya menemukan beberapa artikel berbicara tentang penguncian Sesi. Namun saya tidak berpikir bahwa orang akan membuka begitu banyak halaman secara bersamaan.

Beberapa beban ini seperti 20 - 30 detik. Saya hanya ingin tahu apakah ada orang lain yang memperhatikan hal ini atau memiliki lebih banyak pengetahuan tentang cara menganalisis jenis permintaan panjang ini karena sesi.

dan.codes
sumber
1
Saya perhatikan perilaku yang sama dengan Redis digunakan sebagai penyimpanan sesi. Tidak ada petunjuk mengapa itu terjadi juga.
2
Apakah Anda sudah bisa melacak penyebabnya? Saya memiliki pengaturan yang sangat mirip (Redis untuk cache, memcached untuk sesi) dan kami baru-baru ini mulai menggunakan Relik Baru untuk melacak kinerja. Kami menangkap beberapa jejak 20+ detik yang tampaknya disebabkan oleh sesuatu di MCMSAV :: start seperti yang Anda lihat. Sayangnya saya tidak bisa melihat lebih dalam ke dalamnya, tooltip mengatakan "Visibilitas yang lebih dalam tidak tersedia karena kelas dan metode ini tidak diinstrumentasi dengan konfigurasi agen PHP saat ini". Saya belum menyelidiki lebih lanjut. Ada ide?
BrianVPS
1
@BrianVPS Saya tidak pernah menemukan apa pun. Itu tetap menjadi misteri bagi saya dan tidak pernah diberi lebih banyak waktu untuk melacaknya. Saya masih melihatnya di setiap proyek. Apakah kamu pernah menemukan sesuatu?
dan.codes
1
Saya tidak tahu apakah kami menemukan penyebab, tetapi saya belum melihat ini baru-baru ini. Kami telah membuat perubahan signifikan pada situs dan memangkas banyak lemak. Saya menonaktifkan beberapa modul inti yang tidak digunakan, menghapus satu ton atribut, kategori, dan produk yang tidak digunakan. Sejak itu segalanya diperbaiki di semua lini. Saya tidak tahu apakah semua itu terkait, tetapi secara umum, menyingkirkan hal-hal yang tidak perlu tampaknya membantu Magento secara signifikan. Ini adalah sistem yang kuat, tetapi membengkak dengan banyak kode yang tidak dibutuhkan banyak situs. Menyingkirkan kelebihan itu sangat membantu.
BrianVPS
@BrianVPS Saya memiliki masalah yang sama persis dengan yang Anda miliki (jejak 20+ detik yang tampaknya disebabkan oleh sesuatu di MCMSAV :: start). Apakah Anda menemukan solusi?
Denis Spalenza

Jawaban:

7

Ini kemungkinan besar terkait dengan fenomena tentang sesi sistem file. Terlepas dari apa yang Anda laporkan melalui menggunakan Mecached untuk sesi saya hanya pernah melihat ini sendiri ketika sebenarnya saya menggunakan sistem file.

Ini telah dibahas sebelumnya di sini:

/magento//a/3721/336

Bahkan tangkapan layar dari sebuah cachegrind mengungkapkan titik yang tepat di mana sesi startup mengambil jumlah waktu yang banyak adalah Mage_Core_Model_Session_Abstract_Varien::startsaat Anda menunjukkan dengan benar:

masukkan deskripsi gambar di sini

Dalam utas yang dirujuk ada saran bahwa efek ini dapat dikurangi dengan penyimpanan sesi dalam memori - tetapi tidak ada data konkret yang saya tahu mendukung teori tersebut. Jika Anda benar-benar menggunakan memcached maka cukup masuk akal bahwa kunci sesi tingkat PHP akan mencegah permintaan di masa mendatang agar penyimpanan sesi tidak diberikan hingga kunci dilepaskan.

Secara umum ini biasanya terlihat hanya pada permintaan yang membutuhkan akses ke informasi sesi, sehingga merancang tema frontend Anda akan bermanfaat untuk membatasi jumlah akses yang diperlukan untuk menghindari potensi kunci ketika pengguna memiliki tab lain atau permintaan jangka panjang lain yang sedang berjalan saat memutuskan untuk pindah.

HTH, Ceria.

Philwinkle
sumber