Öncelikle bilgileriniz için teşekkürler. Sizin gibi açıklayıcı bilgiler paylaşan çok az kişi kaldı
1- değerleri false yapmak için eklentilerin kodlarına müdahale mi etmemiz gerekiyor eğer durum böyleyse bu eklentileri kullanan herkes bu işlemi yapmak zorunda gibi anladım. Ve bu işlemi yaptığımda acaba ne kaybederim bu fonksiyon önemli bir işlev olabilir mi, false yapmamamız gerekebilir mi acaba. Ek olarak eklenti olarak rank-math, iletişim, litespeed cache kullanıyorum.
2- Sunucuda memcached aktif ram kullanım değerlerim de şu şekilde:
https://prnt.sc/QAQZCaqkiYtz
3- Geçiçi çözüm olduğu için deneyemedim fakat bilgi için göz atıcam
Evet herkes o işlemleri yapmak zorunda ama o işlemleri tek tek yapmak basit değil. Bunlar her tema ve eklentiyle alakalı da olmayabilir. Şöyle kısaca basit bir örnek vereyim.
Diyelim ki, "benzer konular" eklentisi veya temanın benzer konular özelliğini kullanıyorsunuz. Bu tip eklenti veya tema özelliği, genelde şöyle başlar örneğin:
$args = array(
'post_type' => 'post',
'cat' => '1,6,8',
'author_name' => 'phpxtr',
'posts_per_page' => 5,
'fields' => 'ids'
);
$the_query = new WP_Query( $args );Burada 1, 6 ve 8 ID'li kategorilerden phpxtr isimli üyenin yazdığı 5 tane yazı çekiyor ama bu yapılırken meta verilerine bakılmaz. Bunu salt biçimde yapıp faaliyete alırlar. Zaten küçük çaplı siteler veya yeni başlayanlar için sorun olmaz. Büyük siteler sunucularını ona göre optimize ederse, yine pek sorun olmaz ama bundan anlayan birisi zamanla düzenlemeleri yapar. Az önceki sorgu değerleri aslında şöyle güncellenmeli yani:
$args = array(
'post_type' => 'post',
'cat' => '1,6,8',
'author_name' => 'phpxtr',
'posts_per_page' => 5,
'update_post_term_cache' => false,
'update_post_meta_cache' => false,
);
$the_query = new WP_Query( $args );'update_post_term_cache' => false yapmak, kategori verilerini (meta register) alma demektir.
'update_post_meta_cache' => false yapmak, post meta verilerini alma demektir.
Bu sayede meta kayıtları artık devre dışı olduğu için select işlemlerini dizginlemiş olacaksınız.
Litespeed eklentisini kaldırmanızı öneririm. Nginx sunucuda Litespeed eklentisi olmaz gereksiz ve boşuna yük.
Memcached genelde aramalar için çok güzel oluyor ama Redis öyle bir seviyeye geldi ki, Memcached'i her kulvarda geçiyor artık. Tabii bu tartışmaya açık bir konudur. Halen Memcached kullananlar var hem de çok ciddi sayıda var ama benim önerim her zaman Redis kullanılmasından yanadır çünkü size gösterdiğim kaynakta da baktıysanız avantajları daha fazla.
Size önerilerimi söyleyeyim.
1- Mysqltuner ile MySQL sunucuyu kontrol edip inceleyin bakalım my.cnf yapılandarması nasıl? Başarılı mı? Size eksikleri söyleyecektir ona göre yapılandırma yaparsınız. MySQL için, şunlar şurada dursun okursunuz:
https://www.r10.net/server-optimizas...post1081969213 https://www.r10.net/server-optimizas...post1081974635
2- Memcached kullanıyorsanız, iyi konfigüre edilmiş mi araştırın veya onu kaldırıp Redis kullanın ama unutmayın ki, her ikisinin de güzel konfigüre edilmesi gerekiyor.
3- Nginx tek kullanıyorsanız, FastCGI Cache aktif edin ama unutmayın ki; sitenizde is_function tarzı değerler varsa çalışmaz çünkü FastCGI Cache sitenizi statik (HTML) siteye çevirir yani misafirlere statik sayfa sunar. Eh, böyle olduğu için özel tanımlanan is_mobile gibi sorgular devredışı kalır. Örneğin gece-gündüz teması vardır ve bu tema is_dark, is_light gibi komutlar varsa, statik belleklemede çalışmazlar. Bu konuyla ilgili detaylı açıklamayı şurada yapmıştım:
https://www.r10.net/wordpress-sorunl...post1083813651
4- Nginx yapılandırmanızı (conf) gözden geçirin bakalım ne denli işlevsel? Ne kadar RAM kullanıyor? gibi gibi. Basit bir önerim:
https://www.r10.net/ucretli-wordpres...post1082028319 Şimdi sitenize en azından şu an için birkaç şey yaparak stresi varsa biraz dizginleyelim. 1- ÖNCE YEDEK ALIN
2- Config dosyanızı açıp ekleyin:
define('DISABLE_WP_CRON', true);Kaydedin.
3- Şimdi şu eklentiyi kurun:
https://wordpress.org/plugins/wp-crontrol/
Kurulum sonrası panelden görevleri inceleyin ve sorunlu/zorlama yapan görevleri silin. Buna değinme sebebim aşırı giriş zorlaması sebebiyle cron görevleri kontrolden çıkarsa site çok zorlanır. Şimdi işlemler silme vs bittiyse, config dosyasını tekrar açın ve az önceki kodu şöyle değiştirin:
define('DISABLE_WP_CRON', false);Kaydedin ve az önce kurduğunuz eklentiyi de kaldırın.
Şimdi temanızın function dosyasını açın ve uygun bir yere ekleyin:
add_filter( 'action_scheduler_run_schedule', function($arg) { return 86400; });
add_filter( 'action_scheduler_pastdue_actions_check_pre', '__return_false' );
add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge()
{
return WEEK_IN_SECONDS;
}Kaydedin.
Şimdi veritabanın açın ve aşağıdaki sorguları sırayla çalıştırın:
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
İşlemler bu kadar.
Diğerlerini yapıp yapmamak da size kalmış.