PHP İşçileri: Neler ve Ne Kadar İhtiyacınız Var (Gelişmiş Kılavuz)
Bir barındırma paketi seçme zamanı geldiğinde, WordPress sitenizin isteğine en uygun paketi seçmek önemlidir.
Ücretsiz demoyu deneyin
Örneğin, ayda 50.000 ziyaretçi alan E-Niaga sitesi, genellikle aynı miktarda trafiğe sahip basit bloglardan çok daha zorlu kaynaklar olacaktır. Bunun nedeni, yalnızca E-Niaga sitesinin genellikle dinamik olması ve PHP ve veritabanı sorguları için daha fazla kaynak gerektirmesidir. PHP işçileri devreye giriyor. PHP çalışanlarının ne olduğu ve sitenizdeki talep işlemeyi hızlandırmak için nasıl kullanıldıkları hakkında daha fazla bilgi edinin.
PHP çalışanı nedir? WordPress bağlamında, PHP çalışanları sayfalar, planlanmış arka plan görevleri ve daha fazlasını yaparlar. PHP çalışanları, sitenizi ziyaret edenlere sunulacak bir HTML sayfası oluşturmaktan doğrudan sorumlu olduğundan, sitenizin belirli bir zamanda işleyebileceği kaç isteğin aynı anda önbellek olmadığını belirlerler. Örneğin, WordPress sitenizin iki PHP çalışanı ile donatıldığını ve sayfa önbelleğinin hazırlanmadığını varsayalım. Sitenize aynı anda dört istek gelirse, bu taleplerden ikisi yakında işlenecekken, diğer ikisi ilk iki istek işlenene kadar kuyrukta beklemelidir.
Kinsta’da PHP çalışanlarını paketimizin çeşitli seviyeleri için değişkenlerden biri olarak kullanıyoruz. Örneğin, İş Paketleri 1’in site başına 4 PHP çalışanı bulunurken, şirket Paket 4’ün 16 çalışanı vardır. Önbelleğin geçtiği veya kaçırıldığı talepler için sunucu seviyesi önbelleğe alınmasına rağmen, PHP çalışanları her istek için iş yapmak zorunda oldukları için çok önemli hale geliyor. Genellikle E-Niaga sitesinde ve topluluk forumlarında önbellek olmayan birçok istek görürüz. Bu nedenle, bu siteler, her isteğin gecikme veya zaman sınırı olmadan işlenmesini sağlamak için ek PHP çalışanlarına ihtiyaç duyacaktır. Siteniz çok optimize edilmişse veya çok fazla PHP kodu yoksa (örneğin karmaşık temalar veya birçok WordPress eklentisi), o zaman işlenmesi Her istek neredeyse anında olacak. 2 PHP işçisi ve 4 talepte bile, dört talep çok hızlı bir şekilde ele alınacaktır. Basitçe söylemek gerekirse, PHP çalışanları sunucudaki PHP kodunu çalıştıran arka plan işlemidir. WordPress PHP çalışanlarını nasıl kullanıyor? WordPress için PHP işçilerinin kullanımını nasıl optimize edeceğimizi girmeden önce, önce WordPress’in PHP çalışanlarını nasıl kullandığını anlamalıyız.
Bir uncache ortamındaki tipik istekler şöyle çalışır:
Web sunucusu (Nginx veya Apache) ziyaretçilerden bir talep alır.
Nginx PHP talebini sürdürdü.
PHP gerektiğinde MySQL veritabanını ister ve HTML sayfaları üretmek için PHP tema şablonunuzu kullanır.
PHP, web sunucusuna geri dönen HTML sayfasını gönderir.
Sayfa ziyaretçilere sunulmuştur.
Yukarıda vurgulanan süreçte, Adım 3 en çok zaman ve kaynaktır (CPU ve RAM). Minimum veritabanı sorgusu ve verimli PHP kodu ile yüksek oranda optimize edilmiş siteler, üçüncü adımı nispeten hızlı bir şekilde geçecektir. Buna karşılık, kötü yazılmış PHP koduna sahip siteler, bu da talep daha uzun bir süre PHP işçilerini işgal edeceği anlamına gelir. PHP ve CPU çalışanları arasındaki ilişki WordPress performansı açısından, mevcut PHP ve CPU çalışanları arasındaki ilişki dikkate alınması önemlidir. CPU kaynaklarının eksikliği sitenizin engeli ise, PHP işçilerinin sayısını artırmak sitenizin performansını artırmayacaktır – sitenizin yalnızca yavaş talep başına performansla aynı zamanda daha fazla talebi işlemesine izin verecektir.
Açıklamama izin ver. Ona bir hortum bulunan bir yangın hidrant hayal edin. Sadece bir hortum bağlandığında, hidrantlar yeterli su basıncı koyabilir. Peki, Hidrant’a on hortum koyarsak ne olur? Sınırlı su basıncı on hortumda yayılır, yani her hortum işi tamamlamak için daha az su basıncı vardır. Bu benzetmede yangın hidrantları CPU’lardır ve hortumlar PHP işçileridir. Yukarıdakileri hatırlayarak, ev sahibiniz sürekli olarak PHP çalışanlarını CPU’dan bahsetmeden artırmanızı tavsiye ediyorsa uyanık olmalısınız.
Burada, Kinsta’da özel LXD kaplarımız yeterli CPU ve RAM kaynakları ile yapılandırılmıştır. Ayrıca, Site PHP çalışanlarınızın daha verimli çalışmasına yardımcı olmak için en hızlı Google Cloud CPU ile donatılmış bilgi işlem için optimize edilmiş sanal bir C2 motoru kullanıyoruz. WordPress sitesi PHP çalışanlarınızın en yüksek performansta çalışmak için yeterli CPU kaynağına sahip oldukları ölçülebilir altyapıyız. Bir an için bir yangın hidrantı benzetmesine dönelim. On ateşi beş hortumla söndürmeniz gereken bir durumda olduğunuzu düşünün. Beş aralığı bağladıktan sonra, hidrantların hala yeterli su basıncı koyduğunun farkındasınız. Bu durumda, su basıncı hidrantı bir direnç olmadığı için birkaç hortumu daha bağlamak mantıklıdır. Benzer şekilde, siteniz yeterli CPU ve RAM ek yükü ile bile kötü performans gösteriyorsa, PHP işçilerinin sayısını performansı iyileştirmek için bir seçenek olarak artırmayı düşünmeniz gerekir. Sitenizde PHP işçilerinin kullanımını nasıl optimize edeceğiniz PHP çalışanlarının PHP kodu ile HTML sayfaları üreten bir arka plan süreci olduğunu açıkladık. Şimdi, PHP çalışanlarının kullanımını azaltmanın ve optimize etmenin en açık yolu, sitenize talebi karşılamak için gereken CPU ve PHP kaynaklarının miktarını azaltmaktır.
İşte nasıl yapılacağı. 1. WordPress sitenize önbellekleme hazırlayın PHP çalışanlarının kullanımını azaltmak için ilk adım WordPress siteniz için bir önbellek katmanı hazırlamaktır. Varsayılan olarak, WordPress, istek üzerine her sayfa isteğini karşılayan dinamik bir CMS’dir. Bloglar, çevrimiçi dergiler ve portföy gibi birçok site için, her istek için dinamik olarak sayfa üretmek için PHP kullanımı gerekmez. Okuduğunuz önbelleğe alınma blogu, dinamik olarak yapılması gerekmeyen bir sayfanın mükemmel bir örneğidir. Diğer yayınlarımızın çoğu gibi, bu yazıdaki içerik statik için tasarlanmıştır, bu nedenle sürekli bir sayfa üretmek için CPU kaynakları harcamaya gerek yoktur. Önbellek sayfası, PHP ile dinamik bir sayfa üretmeye kıyasla birçok net avantaja sahiptir. Örneğin, sitenizdeki blog yayınının viral olup olmadığını ve yayınlandıktan birkaç saat sonra 100.000 sayfa ekran aldığını düşünün. Önbellek sayfaları olmadan, PHP çalışanınızın bunalması muhtemeldir ve sunucunuzun grev olması muhtemeldir. Bir sayfa önbelleği ile yalnızca ilk sayfa ekranı dinamik olarak üretilecektir. 99,999 Nispeten küçük CPU kaynakları kullanan sayfanızdan başka istekler sunulacaktır. WordPress siteniz için sayfa önbelleğini ayarlamanın iki yolu vardır.
Nginx gibi web sunucuları ile sunucu düzeyinde sayfaları önbelleğe alma.
WP-Rocket gibi WordPress eklentileri ile eklenti tabanlı sayfaları önbelleğe alın.
Maksimum performans için, mümkünse sunucu seviyesi sayfa sayfalarının kullanılmasını öneririz. Kinsta’da, tüm sitelerimiz süper hızlı performans için Nginx Fastcgi önbellek modülünü kullanır. Ana bilgisayarınız bir sunucu seviyesi sayfa önbellekleme seçeneği sunmuyorsa, bir sonraki en iyi seçenek, sayfa önbelleğini uygulama düzeyinde uygulamak için WordPress önbellekleme eklentisini kullanmaktır. WooCommerce mağazaları, topluluk forumları ve sayfa önbelleğini verimli bir şekilde kullanamayan diğer WordPress siteleri için önbellekleme, MySQL veritabanının önünde Redis gibi kalıcı nesne önbelleği ekleyin. Kalıcı bir nesne önbelleği olmadan, sonuçlar önceki kuyrukla aynı olsa bile, MySQL veritabanı sorguları her istek için yürütülecektir. Örneğin, sayfa önbelleğinden geçen topluluk forumu sitesi, sayfaları oluşturmak için veri gönderisini almak için veritabanına ayrı bir özdeş sorgu yapacaktır. Yüksek trafiğe ve birçok veritabanına sahip siteler için, bu veritabanı sorgu yöntemi verimsizdir, çünkü ayrı istekler için aynı sorgular üretmek için PHP çalışanlarını kullanır. Redis buraya girdi. Redis, PHP’nin yürütülen sorguların sonuçlarını almasını sağlayan RAM’deki veritabanı sorgularının sonuçlarını saklar. Bu nesne önbellekleme yöntemi, PHP çalışanlarının CPU kaynaklarından tasarruf etmelerini ve tekrarlayan veritabanı sorgularına olan ihtiyacı ortadan kaldırdığı için talebi karşılamak için daha az zaman harcamasını sağlar. 2. PHP kodunuzu optimize edin Bir sayfa önbelleği hazırlamanın yanı sıra, PHP çalışanlarının kullanımını azaltmanıza yardımcı olacak başka bir strateji, PHP kodunuzu optimize etmektir. WordPress bağlamında, ”
PHP kodunu optimize etmek “çeşitli farklı şeyler anlamına gelebilir, bu yüzden daha derine bakalım. En çok tercih edilen ve nefret edilen WordPress özelliklerinden biri (kime sorduğunuza bağlı olarak) eklentiler ve kod görüntüleri aracılığıyla genişletilebilirliktir. Bir hisse eklemek istiyorsanız Bilet Widget WordPress sitenize, bunun için bir eklenti var. Aynı şekilde, özel bir yazı tipi eklemek istiyorsanız, bir fonksiyon da vardır. Hangi kodun gerçekten gerekli olduğunu belirlemek için tüm siteleri denetleyin. Kalite eklentilerini daha sık seçin, WordPress sitenizdeki eklenti sayısı eklentinin kalitesi kadar önemli değildir. Eklenti değilse Son altı ay içinde güncellendi, daha iyi Faturaya uygun başka bir eklenti seçin.
Trafiğimizi%1000’den fazla nasıl artırdığımızı bilmek ister misiniz? Haftalık bültenimizi içerideki WordPress insanlar hakkında ipuçlarıyla alan 20.000’den fazla insana katılın!
Şimdi abone olun
Bunun nedeni, WordPress’in geliştirilmeye devam etmesidir. Bir eklenti yıllarca güncellenmemişse, kodun olasılığı en son WordPress geliştirme ve güvenliğin en iyi uygulamasını kullanmaz. Tersine, bir eklenti birkaç haftada bir güncellenmeye devam ederse, kalite hakkında ciddi bir geliştirici olması muhtemeldir, bu da WordPress siteniz için iyi bir seçim haline getirir. Sitenizde JavaScript veya CSS eklemek gibi basit bir görev yapmak istiyorsanız, gerektiğinde eklentiyi kullanın, bunun için her zaman bir eklentiye ihtiyacınız yoktur. Bunun yerine, kodu doğrudan PHP tema şablonunuza veya style.css dosyasına bir çocuk temasıyla ekleyebilirsiniz. Bir dahaki sefere bir eklenti yüklemeyi düşündüğünüz bir durumda olduğunuzda, önce% 100 ihtiyaç duyulup ihtiyaç duymadığını görmek için zaman ayırın. Bazen, başka eklentileri kurmaktan başka bir yol yoktur ve sorun değil. Diğer zamanlarda, gereksiz eklentiler yüklemeyerek ek kodlardan kaçınabilirsiniz. Binlerce WordPress sitesini izleme deneyimimizden hafif bir tema seçin, temanın bazen kötü PHP performansının bir nedeni olduğunu görüyoruz. WordPress’in genel bir hedef CMS olarak imalatını karşılamak için, bazı geliştiriciler çeşitli kullanım vakaları için iş için temaları kodlar. Genellikle, bu, PHP ve veritabanı sorgularını verimli bir şekilde kullanmayan birçok kod ve şişmiş tema üretir. Bir WordPress sitesi oluştururken, en çok performans gösteren ve ayarlanmış temaları seçmek önemlidir – GeneratePress, OceanWP ve Astra üç örnektir.
3. Güvenmeye odaklanan veya değil, doğru WordPress ana bilgisayarının seçilmesi, sitenizin performansı üzerinde büyük bir etkiye sahip olabilir. PHP çalışanlarının verimliliği doğrudan CPU ve RAM ile ilişkili olduğundan, en son donanımla modern sunucularda barındırma siteniz PHP çalışanlarının kullanımını optimize etmenize yardımcı olabilir. WordPress siteniz için önemli performansa odaklanan bir ana bilgisayar seçmenin neden olduğunu gösteren iki örnek. Yüksek performanslı CPU PHP, kodu yürütmek için CPU kaynaklarını kullanır. Daha hızlı CPU, daha hızlı kod yürütme anlamına gelir. Kinsta’da, bilgi işlem için optimize edilen Google Cloud – VM C2’nin en hızlı sunucusunu kullanıyoruz. Bu VM, 3.8 GHz tamamen çekirdekli turbo üzerinde çalışabilen en son Intel Xeon işlemci ile donatılmıştır. Kıyaslama testimizde, C2 makinesinin geleneksel N1 motorundan 2-4x ile daha iyi performans gösterdiğini gördük. SSD Depolama Hızlı Hız G/Ç diski, kod ve veritabanı sorgularının yürütülmesi üzerinde doğrudan bir etkiye sahip olabilir. Veritabanınız, yeterli IOPS (saniyede giriş/çıkış işlemi) olmadan yavaş mekanik disk veya bulut tabanlı SSD’de saklanırsa, PHP çalışanınız talebi karşılamak için daha fazla zaman harcamak zorunda kalacaktır. WordPress sitenizin hızlı G/Ç disk erişimine sahip olduğundan emin olmak için yüksek performanslı SSD depolama Google Cloud platformunu kullanıyoruz. 4. Performans uzmanlarıyla çalışın (isteğe bağlı) Sitenizdeki performans sorunlarının üstesinden nasıl geleceğinizden emin değilseniz, sorunu teşhis etmek için gereksinimleri karşılayan performans uzmanlarıyla çalışmanızı öneririz. Yavaş ana bilgisayarlardan sıkılmış mı? Kinsta, hız ve performans dikkate alınarak inşa edildi. Planımıza bakın
Bir uzman, New Relic veya WordPress Monitor sorgusu eklentisi gibi gelişmiş izleme araçlarını kullanarak kodunuzdaki belirli engelleri belirlemenize yardımcı olabilir.Her PHP işlemini ve veritabanı sorgularını artırarak ve kontrol ederek, sitenizi PHP çalışanlarınızla yükleyen belirli kod bloklarını ve ilgili özellikleri tanımlayabilirsiniz.PHP çalışanlarının optimizasyonunu özetlemek için aşağıdaki ipucunu hatırlayın.
PHP çalışanları ile CPU ve RAM arttırılmalıdır.CPU kullanımı%100’de kilitlenirse, daha fazla PHP işçisi eklemek performansı artırmayacaktır.
Sitenizi performansa odaklanan ana bilgisayarlarla barındırmak birçok performans sorununu çözebilir.
Önbellekleme sayfası ve nesne önbellekleme, PHP işçilerinin yükünü önemli ölçüde azaltabilir.
Kaliteli WordPress eklentileri ve temaları kullanmak, sitenizdeki gereksiz kodların sayısını azaltabilir.
Gerekirse, karmaşık sorunları tanımlamak ve çözmek için bir performans uzmanıyla çalışın.
PHP çalışanlarının sonuçları WordPress siteniz için hızlı ve güvenilir performans elde etmek için yeterli değildir, yeterli PHP çalışanına sahip olduğunuzdan emin olmak önemlidir.PHP çalışanları zaten bir sitede meşgul olduklarında, bir kuyruk yapmaya başlarlar.PHP işçi sınırına ulaştıktan sonra, kuyruk 504 eksik hataya veya istekle sonuçlanabilecek eski talebi zorlamaya başlar.PHP işçilerinin eksikliği nedeniyle gördüğümüz bir diğer yaygın hata 502 zayıf ağ geçidi hatasıydı.Bu, 504 hatasından biraz farklıdır, çünkü PHP işçilerinin kuyruğundaki 60 saniyelik zaman sınırından sonra bir hata oluşur.Bu hata sadece ziyaretçileriniz için kötü bir kullanıcı deneyimi sunmakla kalmaz, aynı zamanda siteniz SEO (Bad Gate) üzerinde olumsuz bir etkiye sahip olabilir.
Yavaş sayfa yüklemesine veya hatalara neden olabilecek bir dizi farklı faktör vardır. Örneğin, önbellek olmayan istek veritabanından çok fazla veri gerektiriyorsa, ortaya çıkan sorguların tamamlanması 20-30 saniye sürebilir. Bu durumda, bir PHP işçisi en az yarım dakika işgal edilecektir. Sitenizin yalnızca iki PHP çalışanı varsa, bu uzun talebin sadece ikisi veya üçü hatalara neden olmaya başlamak için yeterlidir. Bunun üstesinden gelmek için, performansı artırmak için CPU en üst düzeye çıkarılmadıysa MySQL veritabanını optimize edin ve PHP çalışanlarını artırın. Kinsta’daki her barındırma paketi için gereken PHP işçilerinin sayısını tahmin etmek bir dizi PHP çalışanı içerir. Dahil olan PHP işçilerinin sayısı, son birkaç yıldır topladığımız tarihsel kaynakların kullanımının metriğine dayanmaktadır. Genel olarak, statik içeriğe sahip siteler – makaleler, statik sayfalar ve portföyler – pek çok PHP çalışanı gerektirmez. E -ticaret veya tartışma forumları gibi daha dinamik işlevlere sahip daha büyük WordPress siteleri için, 4 PHP çalışanını iyi bir başlangıç noktası olarak bulduk. Bununla birlikte, bu, site başına değişebilir, çünkü her birinin temalar, eklentiler, veritabanı sorguları ve benzersiz önbellek / eşleştirilmiş oranlar koleksiyonu olacaktır. Bazı durumlarda, hızlı ve güvenilir performans için daha fazla PHP işçisine ihtiyaç duyulabilir. Kinsta’da sitenize kaç PHP çalışanına ihtiyacınız olduğundan emin değilseniz, satış ve destek ekibimiz öğrenmenize yardımcı olabilir.
PHP işçileri, analitik Mykinsta’daki PHP işçilerinin sınırlarını sınırlandırır. Bu grafik, performans optimizasyonunun PHP çalışanınızın kullanımını etkileyip etkilemediğini ölçmenize yardımcı olabilir.
Örneğin, sitenizin PHP sürümünü 5.6’dan 7.4’e değiştirirseniz, PHP 7.4 5.6’dan çok daha hızlı olduğu için PHP çalışanlarında bir azalma görebilirsiniz. Benzer şekilde, uzun veritabanı sorgularını geliştirmek ve daha hafif temalara geçmek için performans uzmanlarıyla çalışıyorsanız, optimizasyondan önce ve sonra farklılıkları görmek için PHP İşçi Sınır Grafiklerini kullanabilirsiniz. Önbellek analizi tablosu Mykinsta’daki önbellek analizi raporunu da kullanabilirsiniz. Bu veriler, sitenizde PHP çalışanlarının kullanımını optimize ederken çok yararlı olabilir. Varsayılan sorgu dizesine sahip önbelleği atlayın, https://kinstalife.com/?query=123 sayfa önbelleğini geçerek sorgu dizesine sahip URL. Bazı durumlarda, sorgular gereksiz PHP ve CPU kullanımında büyük bir artışa neden olabilir. Örneğin, Facebook’tan bir bağlantıyı ziyaret ederseniz, URL’nin sonunda genellikle? Fbclid = sorgu dizesini görürsünüz. Aynı şekilde, e -posta bültenindeki bağlantıyı tıkladıktan sonra UTM izleme parametrelerini görebilirsiniz.
Bir sorgu dizesi ile URL (? QueryString = 123).