Saya menjalankan situs WordPress dengan sekitar 70 plugin aktif.
Sering kali, saya akan mendapatkan halaman kesalahan acak ("Tidak Ditemukan", meskipun saya belum memeriksa header untuk melihat apakah itu 404) pada /wp-admin/
halaman yang muncul entah dari mana.
Cukup mencoba lagi menyelesaikan kesalahan, namun cukup merepotkan jika kesalahan terjadi selama peningkatan plugin (karena reaktivasi otomatis gagal). Saya pikir masalah yang sama ini bertanggung jawab atas modul-modul tertentu di Dasbor saya gagal memuat kadang-kadang.
Dengan daftar plugin yang saya pasang , apakah ada yang tahu masalah dengan atau di antara mereka yang mungkin menyebabkan masalah ini?
Edit:
Info hosting: DreamHost; Saya pikir server menjalankan pembangunan Debian khusus dengan Apache httpd
Jawaban:
Saya mengalami masalah sepanjang hari dengan apa yang tampak sebagai 404 misfirings.
Lagi pula, saya baru saja selesai mengobrol dengan orang dukungan teknis dreamhost yang mengatakan kepada saya bahwa akun pengguna yang saya miliki dengan mereka telah mencapai batas sumber daya proses memori (semua proses) dan itulah yang menyebabkan masalah aneh, yang tampaknya terkait masalah htaccess. saya mendapatkan 404 kesalahan intermiten dari file htaccess yang seharusnya tidak dipanggil sama sekali! itu adalah dreamhost dengan server rumah berhantu.
rupanya, proses membunuh robot yang digunakan oleh dreamhost akan membunuh proses web di tengah dan kemudian untuk beberapa alasan, apache (sekarang zombie) benar-benar mencoba untuk menyelesaikan pekerjaannya (melakukan yang terbaik untuk keluar dengan bersih dari akhir yang tidak berkilau ke subrequest adalah tebakan terbaik saya). itu melempar 500 kesalahan ke log http utama, tetapi setelah melakukannya, itu benar-benar melepaskan kondisi penulisan ulang dan aturan yang seharusnya tidak pernah dipecat (menggunakan file standar -f dan direktori -d file htaccess di atas) - dan itu tidak dapat menulis entri log baru! permintaan baru (orang tak terlihat) kemudian memicu file indeks di baris terakhir dari file htaccess
Waspadalah dengan batasan sumber daya di akun dasar dreamhost! jika Anda melampaui batas mereka, dan Anda memiliki htacess dengan garis mod_rewrite Anda akan melihat hal-hal aneh yang hanya cocok untuk malam halloween - pria tak terlihat, 404s berhantu! proses undead! apache zombie! htaccess bergerak sendiri! Astaga!
Semoga ini membantu Anda menghindari rasa sakit selama berjam-jam.
sumber
mod_rewrite
hal di.htaccess
file saya . Kedengarannya seperti inilah yang terjadi padaku. Saya tahu saya mencapai batas memori dengan pekerjaan cadangan saya, tetapi tidak untuk permintaan "nyata". Terima kasih telah berbagi pengalaman Anda; semoga jawaban Anda akan menghemat banyak waktu orang.Satu-satunya cara untuk men-debug ini adalah dengan menonaktifkan satu plugin pada satu waktu, setiap kali mencoba mereproduksi masalah sebelum Anda menonaktifkan plugin lainnya. Mulailah dengan plugin yang ada hubungannya dengan administrasi WP, kemudian pindah ke plugin tema biasa, widget dan semacamnya.
Periksa halaman "Tidak Ditemukan" bahwa Anda dilayani dengan lebih baik (jelajahi dengan Opera dan buka panel Info yang akan menampilkan tajuk, atau jelajahi dengan Firefox dan buat Firebug dengan panel "Net" diaktifkan) dan lakukan pencarian melalui semua plugin Anda untuk melihat apakah mereka mungkin menyajikannya secara langsung. Jika tidak, lihat log server web untuk mengetahui sumber daya pasti yang tidak dapat dilayani; sebuah plugin mungkin sedang melakukan pengalihan atau penulisan ulang yang mewah sehingga URL yang Anda lihat di browser Anda tidak menyebabkan 404.
sumber
Saya hanya bisa menceritakan pengalaman saya sendiri, dan sejauh ini, saya belum menemukan aturan "pasti" untuk memperbaiki semua masalah dengan satu langkah.
Masalah utama dengan pengaturan DreamHost adalah bahwa, dalam perjuangan abadi untuk menjaga konsumsi memori seminimal mungkin, itu berarti menyingkirkan sebanyak mungkin fitur - yaitu, semua itu akan mengurangi bandwidth (baik untuk para pengunjung!) Atau CPU (bagus) untuk server, tetapi DreamHost tidak mengontrol konsumsi CPU seagresif mereka mengontrol RAM). Misalnya, ini berarti menyingkirkan HTML + CSS gzip'ed (yang akan menggunakan CPU + RAM) atau salah satu dari beberapa plugin Minify (yang akan mengkonsumsi RAM juga). Cache yang lebih canggih (Saya suka menggunakan W3 Total Cache, atau setidaknya WP Super Cache), semakin banyak RAM yang dikonsumsi.
Demikian pula, banyak plugin yang membatasi jumlah permintaan MySQL untuk meningkatkan kinerja, sebaliknya akan mengkonsumsi RAM. Jadi mencari trade-off di mana Anda masih bisa menjaga situs Anda membalas dengan kinerja yang baik sambil menghindari mengkonsumsi RAM yang berharga adalah tugas yang sulit!
Sejauh ini, hasil terbaik saya di situs yang sibuk adalah menghapus centang Pengoptimalan Kecepatan Halaman dan Keamanan Web Ekstra yang tampaknya akan mengkonsumsi banyak RAM, dan sebagai gantinya bergantung pada kombinasi dengan W3 Total Cache dan Cloudflare (layanan proxy reverse gratis). Cloudflare akan secara efektif melakukan hal yang sama dengan modul "Keamanan Web Ekstra", tetapi karena berjalan di luar DreamHost, tidak masalah. W3 Total Cache menghabiskan banyak memori, tetapi begitu halaman disimpan secara statis secara lokal, Cloudflare akan secara efisien menyimpannya - sehingga Anda mungkin mendapatkan 404/500 saat mengedit posting, setidaknya pengunjung Anda tidak akan mengalaminya (Cloudflare juga dapat melayani halaman statis bahkan jika DreamHost memberi 404 atau 500).
Juga, berkat artikel ini , saya telah mengetahui bahwa FastCGI menggunakan lebih banyak RAM daripada CGI 'normal'. Dan karena PHP 5.3 lebih baik dalam mengelola RAM (pengumpulan sampah yang lebih agresif, kebocoran memori lebih sedikit), saya secara eksperimental beralih ke PHP 5.3 CGI (bukan FastCGI) tanpa Optimasi Kecepatan Halaman atau Keamanan Web Ekstra, mengandalkan W3 Total Cache + Cloudflare untuk mempercepat situs. Sekarang backoffice lebih lambat (konsumsi CPU lebih banyak!) Tapi setidaknya saya tidak melihat 404/500 (sejauh ini!).
Saya masih tidak senang dengan kombinasinya, jadi saya pasti akan terus mengubah pengaturan DreamHost dengan harapan dapat mengurangi konsumsi RAM lebih banyak lagi dan masih mendapatkan kinerja yang memadai. Seperti kata @dgw, saya juga menggunakan banyak plugin - karena saya memerlukan fungsionalitasnya. Tidak semua orang yang meng-hosting WP dengan DreamHost memiliki kebutuhan blogging yang sederhana; semakin kompleks situsnya, semakin banyak fungsionalitas yang diperlukan ... dan itulah keindahan WordPress, Anda hanya perlu menggunakan plugin yang benar-benar Anda butuhkan, dan menjaga agar WP inti tetap sederhana jika Anda senang dengan sedikit kebutuhan. Namun, plugin tidak selalu "buruk" atau terlalu berat di situs; tetapi memang benar bahwa beberapa mungkin mengkonsumsi banyak RAM ...
sumber
Ini hanya ide kasar: Jika Anda mendapatkan kesalahan 404 "nyata" (dengan set header), maka Anda dapat mencari melalui plugin Anda dan mencari fungsi PHP
header()
dan nomor 404. Ini dapat menelusuri jumlah plugin dari 70 hingga beberapa saja. Maka Anda hanya perlu memeriksa itu.Ini dapat dengan mudah dilakukan dengan IDE seperti Eclipse PDT yang menawarkan pencarian untuk panggilan fungsi PHP tertentu.
Di sebelahnya tetapi tanpa jaminan bahwa itu berhasil, adalah menulis sebuah plugin yang menghubungkan ke pengaturan header dan kemudian memberi Anda melacak kode mana yang sebenarnya mengatur potensi 404 (backtrace). Ini hanya akan berfungsi jika plugin menggunakan fungsi WordPress API. Metode pertama untuk mencari fungsi PHP akan berfungsi terlepas dari WP API.
sumber
Informasi lebih lanjut diperlukan:
1) Mengapa banyak sekali plugin?
2) OS apa yang dijalankan penyedia hosting Anda?
3) Server web apa?
4) Apakah Anda memiliki akses ke log server httpd, terutama log kesalahan?
5) Apa yang dikatakan oleh log kesalahan dalam kerangka waktu yang mengelilingi masalah ini?
(Sekarang, sejujurnya, jika kita menggeneralisasi untuk "rata-rata J6P menjalankan WordPress mungkin memiliki pertanyaan yang tepat ini, kita bisa mulai dengan mengarahkan kata J6P untuk menjawab setidaknya 5 pertanyaan di atas ...)
sumber