{"id":3122,"date":"2025-12-07T17:26:31","date_gmt":"2025-12-07T14:26:31","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/wordpress-ve-woocommerce-icin-php-fpm-ayarlari-pm-pm-max_children-ve-pm-max_requests-hesaplama-rehberi\/"},"modified":"2025-12-07T17:26:31","modified_gmt":"2025-12-07T14:26:31","slug":"wordpress-ve-woocommerce-icin-php-fpm-ayarlari-pm-pm-max_children-ve-pm-max_requests-hesaplama-rehberi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/wordpress-ve-woocommerce-icin-php-fpm-ayarlari-pm-pm-max_children-ve-pm-max_requests-hesaplama-rehberi\/","title":{"rendered":"WordPress ve WooCommerce \u0130\u00e7in PHP-FPM Ayarlar\u0131: pm, pm.max_children ve pm.max_requests Hesaplama Rehberi"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#WordPress_ve_WooCommerce_Icin_PHP-FPM_Ayarlarini_Neden_Ciddiye_Almalisiniz\"><span class=\"toc_number toc_depth_1\">1<\/span> WordPress ve WooCommerce \u0130\u00e7in PHP-FPM Ayarlar\u0131n\u0131 Neden Ciddiye Almal\u0131s\u0131n\u0131z?<\/a><\/li><li><a href=\"#PHP-FPM_Temel_Kavramlar_pm_pmmax_children_ve_pmmax_requests\"><span class=\"toc_number toc_depth_1\">2<\/span> PHP-FPM Temel Kavramlar: pm, pm.max_children ve pm.max_requests<\/a><ul><li><a href=\"#PHP-FPM_havuzu_nedir\"><span class=\"toc_number toc_depth_2\">2.1<\/span> PHP-FPM havuzu nedir?<\/a><\/li><li><a href=\"#pm_process_manager_nedir_hangi_modlar_var\"><span class=\"toc_number toc_depth_2\">2.2<\/span> pm (process manager) nedir, hangi modlar var?<\/a><\/li><li><a href=\"#pmmax_children_ne_ise_yarar\"><span class=\"toc_number toc_depth_2\">2.3<\/span> pm.max_children ne i\u015fe yarar?<\/a><\/li><li><a href=\"#pmmax_requests_neden_onemli\"><span class=\"toc_number toc_depth_2\">2.4<\/span> pm.max_requests neden \u00f6nemli?<\/a><\/li><\/ul><\/li><li><a href=\"#Hesaba_Baslamadan_Once_RAM_Butcesini_Dogru_Belirlemek\"><span class=\"toc_number toc_depth_1\">3<\/span> Hesaba Ba\u015flamadan \u00d6nce: RAM B\u00fct\u00e7esini Do\u011fru Belirlemek<\/a><ul><li><a href=\"#WordPress_ve_WooCommerce_icin_ornek_RAM_dagilimi\"><span class=\"toc_number toc_depth_2\">3.1<\/span> WordPress ve WooCommerce i\u00e7in \u00f6rnek RAM da\u011f\u0131l\u0131m\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_Adim_Hesaplama_pmmax_children_Degerini_Nasil_Buluruz\"><span class=\"toc_number toc_depth_1\">4<\/span> Ad\u0131m Ad\u0131m Hesaplama: pm.max_children De\u011ferini Nas\u0131l Buluruz?<\/a><ul><li><a href=\"#1_Tek_bir_PHP-FPM_child_isleminin_ortalama_RAM_tuketimini_olcmek\"><span class=\"toc_number toc_depth_2\">4.1<\/span> 1. Tek bir PHP-FPM child i\u015fleminin ortalama RAM t\u00fcketimini \u00f6l\u00e7mek<\/a><\/li><li><a href=\"#2_PHP_icin_ayirdiginiz_RAMi_netlestirmek\"><span class=\"toc_number toc_depth_2\">4.2<\/span> 2. PHP i\u00e7in ay\u0131rd\u0131\u011f\u0131n\u0131z RAM\u2019i netle\u015ftirmek<\/a><\/li><li><a href=\"#3_Formul_pmmax_children_hesabi\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 3. Form\u00fcl: pm.max_children hesab\u0131<\/a><\/li><li><a href=\"#Ornek_1_4_GB_RAMli_orta_trafikli_WordPress_blog\"><span class=\"toc_number toc_depth_2\">4.4<\/span> \u00d6rnek 1: 4 GB RAM\u2019li orta trafikli WordPress blog<\/a><\/li><li><a href=\"#Ornek_2_8_GB_RAMli_WooCommerce_magazasi\"><span class=\"toc_number toc_depth_2\">4.5<\/span> \u00d6rnek 2: 8 GB RAM\u2019li WooCommerce ma\u011fazas\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#pm_Modu_Secimi_static_mi_dynamic_mi_ondemand_mi\"><span class=\"toc_number toc_depth_1\">5<\/span> pm Modu Se\u00e7imi: static mi, dynamic mi, ondemand m\u0131?<\/a><ul><li><a href=\"#pm_dynamic_Cogu_WordPressWooCommerce_icin_onerilen_mod\"><span class=\"toc_number toc_depth_2\">5.1<\/span> pm = dynamic: \u00c7o\u011fu WordPress\/WooCommerce i\u00e7in \u00f6nerilen mod<\/a><\/li><li><a href=\"#pm_ondemand_Dusuk_trafikli_siteler_icin_RAM_dostu_secenek\"><span class=\"toc_number toc_depth_2\">5.2<\/span> pm = ondemand: D\u00fc\u015f\u00fck trafikli siteler i\u00e7in RAM dostu se\u00e7enek<\/a><\/li><li><a href=\"#pm_static_Yuksek_ve_sabit_trafikli_izole_ortamlarda\"><span class=\"toc_number toc_depth_2\">5.3<\/span> pm = static: Y\u00fcksek ve sabit trafikli, izole ortamlarda<\/a><\/li><\/ul><\/li><li><a href=\"#pmmax_requests_Degerini_Nasil_Belirlemeliyim\"><span class=\"toc_number toc_depth_1\">6<\/span> pm.max_requests De\u011ferini Nas\u0131l Belirlemeliyim?<\/a><\/li><li><a href=\"#WordPress_ve_WooCommerce_Icin_Ornek_PHP-FPM_Havuz_Ayarlari\"><span class=\"toc_number toc_depth_1\">7<\/span> WordPress ve WooCommerce \u0130\u00e7in \u00d6rnek PHP-FPM Havuz Ayarlar\u0131<\/a><ul><li><a href=\"#Ornek_1_4_GB_RAM_sade_WordPress_blog_dynamic\"><span class=\"toc_number toc_depth_2\">7.1<\/span> \u00d6rnek 1: 4 GB RAM, sade WordPress blog (dynamic)<\/a><\/li><li><a href=\"#Ornek_2_8_GB_RAM_WooCommerce_magazasi_dynamic\"><span class=\"toc_number toc_depth_2\">7.2<\/span> \u00d6rnek 2: 8 GB RAM, WooCommerce ma\u011fazas\u0131 (dynamic)<\/a><\/li><\/ul><\/li><li><a href=\"#Gercek_Trafikte_Ayarlari_Dogrulama_ve_Ince_Ayar\"><span class=\"toc_number toc_depth_1\">8<\/span> Ger\u00e7ek Trafikte Ayarlar\u0131 Do\u011frulama ve \u0130nce Ayar<\/a><ul><li><a href=\"#1_PHP-FPM_loglarinda_pmmax_children_uyarilari_var_mi\"><span class=\"toc_number toc_depth_2\">8.1<\/span> 1. PHP-FPM loglar\u0131nda pm.max_children uyar\u0131lar\u0131 var m\u0131?<\/a><\/li><li><a href=\"#2_RAM_kullanim_grafikleri_stabil_mi\"><span class=\"toc_number toc_depth_2\">8.2<\/span> 2. RAM kullan\u0131m grafikleri stabil mi?<\/a><\/li><li><a href=\"#3_502504_hatalari_ve_TTFB_degerleri\"><span class=\"toc_number toc_depth_2\">8.3<\/span> 3. 502\/504 hatalar\u0131 ve TTFB de\u011ferleri<\/a><\/li><\/ul><\/li><li><a href=\"#Paylasimli_Hosting_VPS_ve_dedicated_sunucuda_PHP-FPM_Ayarlari\"><span class=\"toc_number toc_depth_1\">9<\/span> Payla\u015f\u0131ml\u0131 Hosting, VPS ve dedicated sunucuda PHP-FPM Ayarlar\u0131<\/a><ul><li><a href=\"#Paylasimli_hostingte_durum\"><span class=\"toc_number toc_depth_2\">9.1<\/span> Payla\u015f\u0131ml\u0131 hostingte durum<\/a><\/li><li><a href=\"#VPS_ve_dedicated_senaryosu\"><span class=\"toc_number toc_depth_2\">9.2<\/span> VPS ve dedicated senaryosu<\/a><\/li><\/ul><\/li><li><a href=\"#DCHost_Uzerinde_WordPressWooCommerce_Icin_Pratik_Oneriler\"><span class=\"toc_number toc_depth_1\">10<\/span> DCHost \u00dczerinde WordPress\/WooCommerce \u0130\u00e7in Pratik \u00d6neriler<\/a><\/li><li><a href=\"#Sonuc_Formulden_Pratige_PHP-FPM_Ayarlarini_Kontrol_Altina_Almak\"><span class=\"toc_number toc_depth_1\">11<\/span> Sonu\u00e7: Form\u00fclden Prati\u011fe, PHP-FPM Ayarlar\u0131n\u0131 Kontrol Alt\u0131na Almak<\/a><\/li><\/ul><\/div>\n<h2><span id=\"WordPress_ve_WooCommerce_Icin_PHP-FPM_Ayarlarini_Neden_Ciddiye_Almalisiniz\">WordPress ve WooCommerce \u0130\u00e7in PHP-FPM Ayarlar\u0131n\u0131 Neden Ciddiye Almal\u0131s\u0131n\u0131z?<\/span><\/h2>\n<p>WordPress veya WooCommerce ile \u00e7al\u0131\u015fan bir sitede performans sorunlar\u0131 ya\u015fad\u0131\u011f\u0131n\u0131zda \u00e7o\u011fu ki\u015fi hemen eklentilere, tema koduna veya veritaban\u0131na odaklan\u0131r. Oysa PHP-FPM havuz ayarlar\u0131 yanl\u0131\u015fsa, en temiz kod ve en g\u00fc\u00e7l\u00fc veritaban\u0131 bile sizi tam anlam\u0131yla kurtaramaz. \u00d6zellikle <strong>pm<\/strong>, <strong>pm.max_children<\/strong> ve <strong>pm.max_requests<\/strong> de\u011ferleri; sitenizin ayn\u0131 anda ka\u00e7 iste\u011fi kald\u0131rabildi\u011fini, RAM\u2019in nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 ve uzun s\u00fcren PHP i\u015flemlerinin sistemi \u015fi\u015firip \u015fi\u015firmedi\u011fini do\u011frudan belirler.<\/p>\n<p>DCHost ekibi olarak sahada en s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz senaryo \u015fu: Sunucu g\u00fc\u00e7l\u00fc, PHP versiyonu g\u00fcncel, veritaban\u0131 makul fakat PHP-FPM varsay\u0131lan ayarlarda b\u0131rak\u0131lm\u0131\u015f. Sonu\u00e7; kampanya d\u00f6nemlerinde 502\/504 hatalar\u0131, panelde \u201cserver reached pm.max_children\u201d loglar\u0131 ve zaman zaman beyaz ekran. Bu rehberde, <strong>WordPress ve WooCommerce i\u00e7in PHP-FPM ayarlar\u0131n\u0131n mant\u0131\u011f\u0131n\u0131<\/strong> sade bir dille anlataca\u011f\u0131z ve RAM\u2019inize, trafi\u011finize ve senaryonuza g\u00f6re <strong>pm, pm.max_children ve pm.max_requests de\u011ferlerini ad\u0131m ad\u0131m nas\u0131l hesaplayaca\u011f\u0131n\u0131z\u0131<\/strong> g\u00f6sterece\u011fiz.<\/p>\n<p>Anlat\u0131mda hem tek WordPress siteli basit bir <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>, hem de yo\u011fun trafikli WooCommerce ma\u011fazas\u0131 \u00f6rneklerini kullanaca\u011f\u0131z. B\u00f6ylece kendi sitenize en yak\u0131n senaryodan ba\u015flay\u0131p, zamanla ince ayar yapabilirsiniz.<\/p>\n<h2><span id=\"PHP-FPM_Temel_Kavramlar_pm_pmmax_children_ve_pmmax_requests\">PHP-FPM Temel Kavramlar: pm, pm.max_children ve pm.max_requests<\/span><\/h2>\n<h3><span id=\"PHP-FPM_havuzu_nedir\">PHP-FPM havuzu nedir?<\/span><\/h3>\n<p>PHP-FPM, PHP kodunu i\u015fleten bir servis; her domain veya site i\u00e7in <em>havuz<\/em> (pool) tan\u0131mlayabilirsiniz. \u00d6rne\u011fin <code>\/etc\/php-fpm.d\/www.conf<\/code> veya benzeri bir dosyada <code>[www]<\/code> isimli havuz, \u00e7o\u011fu zaman t\u00fcm siteleri \u00e7al\u0131\u015ft\u0131r\u0131r. Geli\u015fmi\u015f kurulumlarda her site veya proje i\u00e7in ayr\u0131 havuz a\u00e7\u0131p, kaynaklar\u0131 daha net izole etmek m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Her havuz i\u00e7inde, PHP isteklerini kar\u015f\u0131layan <strong>child process<\/strong> (alt s\u00fcre\u00e7ler) bulunur. \u0130\u015fte <strong>pm, pm.max_children ve pm.max_requests<\/strong> bu child s\u00fcre\u00e7lerin say\u0131s\u0131n\u0131 ve ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc y\u00f6netir.<\/p>\n<h3><span id=\"pm_process_manager_nedir_hangi_modlar_var\">pm (process manager) nedir, hangi modlar var?<\/span><\/h3>\n<p><code>pm<\/code> ayar\u0131, havuzdaki s\u00fcre\u00e7leri nas\u0131l y\u00f6netece\u011fini belirleyen ana anahtard\u0131r. \u00dc\u00e7 temel mod vard\u0131r:<\/p>\n<ul>\n<li><strong>pm = static<\/strong>: Ba\u015flang\u0131\u00e7ta belirledi\u011finiz kadar s\u00fcre\u00e7 a\u00e7\u0131l\u0131r ve say\u0131s\u0131 sabit kal\u0131r. \u00d6ng\u00f6r\u00fclebilir ama esnek de\u011fildir, daha \u00e7ok y\u00fcksek ve stabil trafik i\u00e7in uygundur.<\/li>\n<li><strong>pm = dynamic<\/strong>: Belirledi\u011finiz minimum ve maksimum yedek s\u00fcre\u00e7 say\u0131s\u0131na g\u00f6re, trafi\u011fe bakarak s\u00fcre\u00e7leri art\u0131r\u0131p azalt\u0131r. WordPress ve WooCommerce i\u00e7in genelde en mant\u0131kl\u0131 ve dengeli se\u00e7enek budur.<\/li>\n<li><strong>pm = ondemand<\/strong>: Ba\u015fta s\u00fcre\u00e7 a\u00e7maz; istek geldik\u00e7e s\u00fcre\u00e7 olu\u015fturup, belirli s\u00fcre kullan\u0131lmay\u0131nca kapat\u0131r. RAM\u2019i agresif tasarruf eder, d\u00fc\u015f\u00fck trafikli siteler i\u00e7in idealdir ama ani y\u00fcklerde gecikmeye neden olabilir.<\/li>\n<\/ul>\n<h3><span id=\"pmmax_children_ne_ise_yarar\">pm.max_children ne i\u015fe yarar?<\/span><\/h3>\n<p><strong>pm.max_children<\/strong>, ayn\u0131 anda ayakta olabilecek en fazla PHP-FPM child say\u0131s\u0131n\u0131 belirler. Ba\u015fka bir ifadeyle:<\/p>\n<p><em>\u201cAyn\u0131 anda en fazla ka\u00e7 PHP iste\u011fi i\u015flenebilir?\u201d<\/em><\/p>\n<p>Bu de\u011fer \u00e7ok <strong>d\u00fc\u015f\u00fck<\/strong> olursa yo\u011funluk anlar\u0131nda istekler kuyru\u011fa girer, kullan\u0131c\u0131lar yava\u015fl\u0131k hisseder ve gateway timeout (504) hatalar\u0131 g\u00f6rebilirsiniz. \u00c7ok <strong>y\u00fcksek<\/strong> olursa, her child i\u015flem RAM t\u00fcketti\u011fi i\u00e7in sunucuyu bellekten bo\u011fars\u0131n\u0131z; swap\u2019e d\u00fc\u015fer, t\u00fcm sistem a\u011f\u0131rla\u015f\u0131r veya \u00e7\u00f6ker.<\/p>\n<p>Bu y\u00fczden <strong>pm.max_children her sunucu i\u00e7in RAM\u2019e g\u00f6re hesaplanmal\u0131d\u0131r<\/strong>. Az sonra bunun form\u00fcl\u00fcn\u00fc ve pratik \u00f6rneklerini anlataca\u011f\u0131z.<\/p>\n<h3><span id=\"pmmax_requests_neden_onemli\">pm.max_requests neden \u00f6nemli?<\/span><\/h3>\n<p><strong>pm.max_requests<\/strong>, her bir PHP-FPM child s\u00fcrecinin, \u00f6ld\u00fcr\u00fcl\u00fcp yeniden olu\u015fturulmadan \u00f6nce en fazla ka\u00e7 iste\u011fi i\u015fleyebilece\u011fini belirler. Bunun iki temel faydas\u0131 vard\u0131r:<\/p>\n<ul>\n<li>Uzun s\u00fcre \u00e7al\u0131\u015fan s\u00fcre\u00e7lerde biriken <strong>memory leak<\/strong> (s\u0131z\u0131nt\u0131) veya ge\u00e7ici \u015fi\u015fmenin temizlenmesi<\/li>\n<li>Belli say\u0131da istekten sonra s\u00fcre\u00e7leri yenileyerek, daha stabil ve tahmin edilebilir RAM kullan\u0131m\u0131 sa\u011flamak<\/li>\n<\/ul>\n<p>\u00c7ok d\u00fc\u015f\u00fck ayarlan\u0131rsa s\u00fcre\u00e7ler s\u00fcrekli yeniden ba\u015flar, bu da gereksiz overhead yarat\u0131r. \u00c7ok y\u00fcksek ayarlan\u0131rsa, zamanla \u015fi\u015fen s\u00fcre\u00e7ler RAM\u2019i doldurabilir. WooCommerce gibi a\u011f\u0131r eklentili sitelerde genelde <strong>300\u20131000 aral\u0131\u011f\u0131<\/strong> sa\u011fl\u0131kl\u0131 bir ba\u015flang\u0131\u00e7t\u0131r.<\/p>\n<h2><span id=\"Hesaba_Baslamadan_Once_RAM_Butcesini_Dogru_Belirlemek\">Hesaba Ba\u015flamadan \u00d6nce: RAM B\u00fct\u00e7esini Do\u011fru Belirlemek<\/span><\/h2>\n<p>Do\u011fru <code>pm.max_children<\/code> de\u011ferini bulmak i\u00e7in \u00f6nce \u015fu soruya cevap vermelisiniz:<\/p>\n<p><em>\u201cToplam RAM\u2019in ne kadar\u0131n\u0131 PHP-FPM s\u00fcre\u00e7lerine ay\u0131rabilirim?\u201d<\/em><\/p>\n<p>\u00c7\u00fcnk\u00fc sunucuda sadece PHP \u00e7al\u0131\u015fm\u0131yor; ayn\u0131 makinada genellikle a\u015fa\u011f\u0131dakiler de var:<\/p>\n<ul>\n<li>Web sunucusu (Nginx, Apache veya LiteSpeed)<\/li>\n<li>Veritaban\u0131 (MySQL\/MariaDB)<\/li>\n<li>\u00d6nbellek sunucusu (Redis, Memcached)<\/li>\n<li>SSH, sistem servisleri ve i\u015fletim sistemi \u00e7ekirde\u011fi<\/li>\n<\/ul>\n<p>Bu y\u00fczden RAM\u2019i kabaca b\u00f6lmek gerekir. Yeni sunucular i\u00e7in genel kaynak planlamas\u0131n\u0131 nas\u0131l yapman\u0131z gerekti\u011fini merak ediyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/yeni-web-sitesi-icin-cpu-ram-ve-trafik-nasil-hesaplanir\/\">CPU, RAM ve trafik hesaplama rehberimizi<\/a> mutlaka inceleyin.<\/p>\n<h3><span id=\"WordPress_ve_WooCommerce_icin_ornek_RAM_dagilimi\">WordPress ve WooCommerce i\u00e7in \u00f6rnek RAM da\u011f\u0131l\u0131m\u0131<\/span><\/h3>\n<p>Elbette her projeye g\u00f6re de\u011fi\u015fir ama sahada s\u0131k kulland\u0131\u011f\u0131m\u0131z baz\u0131 basit oranlar \u015f\u00f6yle:<\/p>\n<ul>\n<li><strong>4 GB RAM\u2019li k\u00fc\u00e7\u00fck WordPress sitesi<\/strong>\n<ul>\n<li>1 GB \u2192 \u0130\u015fletim sistemi + temel servisler<\/li>\n<li>1.2 GB \u2192 MySQL\/MariaDB<\/li>\n<li>0.3 GB \u2192 Nginx\/Apache + di\u011fer ufak servisler<\/li>\n<li><strong>1.5 GB \u2192 PHP-FPM s\u00fcre\u00e7leri<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><strong>8 GB RAM\u2019li WooCommerce ma\u011fazas\u0131<\/strong>\n<ul>\n<li>1.5 GB \u2192 \u0130\u015fletim sistemi + temel servisler<\/li>\n<li>2.5 GB \u2192 MySQL\/MariaDB (daha geni\u015f <em>innodb_buffer_pool<\/em>)<\/li>\n<li>0.5 GB \u2192 Nginx\/Apache + Redis<\/li>\n<li><strong>3.5 GB \u2192 PHP-FPM s\u00fcre\u00e7leri<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>WooCommerce \u00f6zelinde daha detayl\u0131 kapasite hesab\u0131 i\u00e7in, <a href=\"https:\/\/www.dchost.com\/blog\/woocommerce-kapasite-planlama-rehberi-vcpu-ram-iops-nasil-hesaplanir\/\">WooCommerce kapasite planlama rehberimizde<\/a> vCPU, RAM ve IOPS taraf\u0131n\u0131 derinlemesine anlatt\u0131k. Bu yaz\u0131da ise do\u011frudan PHP-FPM havuzuna odaklan\u0131yoruz.<\/p>\n<h2><span id=\"Adim_Adim_Hesaplama_pmmax_children_Degerini_Nasil_Buluruz\">Ad\u0131m Ad\u0131m Hesaplama: pm.max_children De\u011ferini Nas\u0131l Buluruz?<\/span><\/h2>\n<p><strong>Genel form\u00fcl<\/strong> \u015fu:<\/p>\n<p><code>pm.max_children = PHP i\u00e7in ay\u0131rd\u0131\u011f\u0131n\u0131z RAM (MB) \/ Tek bir child s\u00fcrecin ortalama RAM t\u00fcketimi (MB)<\/code><\/p>\n<p>Buradaki kilit nokta, <em>\u201ctek bir child s\u00fcrecin ortalama RAM t\u00fcketimi\u201d<\/em> de\u011ferini ger\u00e7e\u011fe yak\u0131n tespit etmek. Bunu tahmini de\u011fil, \u00f6l\u00e7erek yapman\u0131z en sa\u011fl\u0131kl\u0131s\u0131d\u0131r.<\/p>\n<h3><span id=\"1_Tek_bir_PHP-FPM_child_isleminin_ortalama_RAM_tuketimini_olcmek\">1. Tek bir PHP-FPM child i\u015fleminin ortalama RAM t\u00fcketimini \u00f6l\u00e7mek<\/span><\/h3>\n<p>\u00d6nce sitenizi ger\u00e7ek\u00e7i bir y\u00fck alt\u0131nda \u00e7al\u0131\u015ft\u0131rman\u0131z gerekiyor. Yani:<\/p>\n<ul>\n<li>Siteye birka\u00e7 taray\u0131c\u0131 sekmesiyle gezinmek<\/li>\n<li>WooCommerce ise: \u00fcr\u00fcn listeleme, filtreleme, sepet, \u00f6deme sayfas\u0131 ak\u0131\u015f\u0131n\u0131 denemek<\/li>\n<li>Varsa kampanya sayfalar\u0131, arama, blog yaz\u0131lar\u0131 vb. sayfalar\u0131 dola\u015fmak<\/li>\n<\/ul>\n<p>Bu esnada sunucuda a\u015fa\u011f\u0131daki gibi bir komutla PHP-FPM s\u00fcre\u00e7lerini izleyebilirsiniz (da\u011f\u0131t\u0131ma ve PHP s\u00fcr\u00fcm\u00fcne g\u00f6re isim de\u011fi\u015febilir):<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">ps -o pid,cmd,%mem,rss -C php-fpm8.1\n<\/code><\/pre>\n<p><code>rss<\/code> s\u00fctunu, s\u00fcre\u00e7lerin kulland\u0131\u011f\u0131 RAM\u2019i kilobayt cinsinden g\u00f6sterir. \u00d6rne\u011fin \u00e7\u0131kt\u0131n\u0131n ortalama de\u011ferleri \u015f\u00f6yle olsun:<\/p>\n<ul>\n<li>Child s\u00fcre\u00e7lerin \u00e7o\u011fu: <code>rss \u2248 220000 KB<\/code> (\u2248 220 MB)<\/li>\n<\/ul>\n<p>Bu durumda, <strong>tek bir child s\u00fcrecin ortalama RAM t\u00fcketimi \u2248 220 MB<\/strong> diyebilirsiniz. WooCommerce\u2019te yo\u011fun eklenti kullan\u0131m\u0131nda 250\u2013350 MB g\u00f6rmek \u015fa\u015f\u0131rt\u0131c\u0131 de\u011fildir; sade bir blogda ise 80\u2013150 MB aral\u0131\u011f\u0131na inilebilir.<\/p>\n<p>Bu \u00f6l\u00e7\u00fcm\u00fc, tema de\u011fi\u015fikli\u011fi, b\u00fcy\u00fck eklenti kurulumlar\u0131 veya WooCommerce taraf\u0131nda ciddi de\u011fi\u015fikliklerden sonra tekrarlamak \u00f6nemlidir.<\/p>\n<h3><span id=\"2_PHP_icin_ayirdiginiz_RAMi_netlestirmek\">2. PHP i\u00e7in ay\u0131rd\u0131\u011f\u0131n\u0131z RAM\u2019i netle\u015ftirmek<\/span><\/h3>\n<p>\u00d6nce toplam RAM\u2019i ve di\u011fer servislerin t\u00fcketimini g\u00f6r\u00fcp, PHP i\u00e7in ay\u0131rabilece\u011finiz b\u00fct\u00e7eyi netle\u015ftirin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">free -m\n<\/code><\/pre>\n<p>veya<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">htop<\/code><\/pre>\n<p>ile sistem y\u00fck\u00fcn\u00fc izleyebilirsiniz. Varsayal\u0131m 8 GB RAM\u2019li WooCommerce sunucunuzda, g\u00f6zlemlerinizden yola \u00e7\u0131karak:<\/p>\n<ul>\n<li>OS + sistem servisleri: \u2248 1.5 GB<\/li>\n<li>MySQL\/MariaDB: \u2248 2.5 GB<\/li>\n<li>Nginx + Redis vb.: \u2248 0.5 GB<\/li>\n<\/ul>\n<p>Toplam \u2248 4.5 GB ediyor. Size yakla\u015f\u0131k <strong>3.5 GB (3500 MB)<\/strong> kal\u0131yor. Bu 3.5 GB\u2019\u0131 PHP-FPM s\u00fcre\u00e7lerine ay\u0131rabilirsiniz.<\/p>\n<h3><span id=\"3_Formul_pmmax_children_hesabi\">3. Form\u00fcl: pm.max_children hesab\u0131<\/span><\/h3>\n<p>Elimizde:<\/p>\n<ul>\n<li>PHP i\u00e7in ayr\u0131lan RAM: 3500 MB<\/li>\n<li>Tek child i\u00e7in ortalama RAM: 220 MB<\/li>\n<\/ul>\n<p>O halde:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">pm.max_children = floor(3500 \/ 220) \u2248 floor(15.9) = 15\n<\/code><\/pre>\n<p>Yani bu sunucuda, PHP-FPM havuzunuz i\u00e7in <strong>pm.max_children = 15<\/strong> makul bir ba\u015flang\u0131\u00e7t\u0131r. \u0130lerleyen s\u00fcre\u00e7te ger\u00e7ek trafi\u011fi g\u00f6zleyip, 12\u201318 aral\u0131\u011f\u0131nda ince ayar yapabilirsiniz.<\/p>\n<h3><span id=\"Ornek_1_4_GB_RAMli_orta_trafikli_WordPress_blog\">\u00d6rnek 1: 4 GB RAM\u2019li orta trafikli WordPress blog<\/span><\/h3>\n<p>Senaryo:<\/p>\n<ul>\n<li>G\u00fcnde 5\u201310 bin sayfa g\u00f6r\u00fcnt\u00fcleme<\/li>\n<li>\u00d6nbellek eklentisi (full-page cache) etkin<\/li>\n<li>Veritaban\u0131 ayn\u0131 sunucuda<\/li>\n<\/ul>\n<p>\u00d6l\u00e7\u00fcmler:<\/p>\n<ul>\n<li>OS + servisler: \u2248 1 GB<\/li>\n<li>MySQL\/MariaDB: \u2248 1.2 GB<\/li>\n<li>Web sunucusu ve di\u011ferleri: \u2248 0.3 GB<\/li>\n<li>PHP\u2019ye ay\u0131rabilece\u011finiz RAM: \u2248 1.5 GB (1500 MB)<\/li>\n<li>Child ba\u015f\u0131na RAM (\u00f6l\u00e7\u00fclm\u00fc\u015f): \u2248 120 MB<\/li>\n<\/ul>\n<p>Hesap:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">pm.max_children = floor(1500 \/ 120) \u2248 floor(12.5) = 12\n<\/code><\/pre>\n<p>Bu durumda ba\u015flang\u0131\u00e7 i\u00e7in:<\/p>\n<ul>\n<li><strong>pm = dynamic<\/strong><\/li>\n<li><strong>pm.max_children = 12<\/strong><\/li>\n<\/ul>\n<p>de\u011ferleri gayet sa\u011fl\u0131kl\u0131 olur.<\/p>\n<h3><span id=\"Ornek_2_8_GB_RAMli_WooCommerce_magazasi\">\u00d6rnek 2: 8 GB RAM\u2019li WooCommerce ma\u011fazas\u0131<\/span><\/h3>\n<p>Senaryo:<\/p>\n<ul>\n<li>G\u00fcnde 20\u201340 bin sayfa g\u00f6r\u00fcnt\u00fcleme<\/li>\n<li>Kampanya d\u00f6neminde e\u015f zamanl\u0131 50+ kullan\u0131c\u0131<\/li>\n<li>Sepet ve \u00f6deme ad\u0131mlar\u0131nda dinamik i\u00e7erik yo\u011fun<\/li>\n<\/ul>\n<p>\u00d6l\u00e7\u00fcmler:<\/p>\n<ul>\n<li>PHP\u2019ye ay\u0131rabilece\u011finiz RAM: 3.5 GB (3500 MB)<\/li>\n<li>Child ba\u015f\u0131na RAM (\u00f6l\u00e7\u00fclm\u00fc\u015f): \u2248 250 MB<\/li>\n<\/ul>\n<p>Hesap:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">pm.max_children = floor(3500 \/ 250) = floor(14) = 14\n<\/code><\/pre>\n<p>Daha agresif oynamak istiyorsan\u0131z 15\u201316\u2019ya \u00e7\u0131kabilirsiniz ama RAM s\u0131n\u0131r\u0131na yakla\u015faca\u011f\u0131n\u0131z i\u00e7in, mutlaka canl\u0131 izleme yapman\u0131z gerekir.<\/p>\n<h2><span id=\"pm_Modu_Secimi_static_mi_dynamic_mi_ondemand_mi\">pm Modu Se\u00e7imi: static mi, dynamic mi, ondemand m\u0131?<\/span><\/h2>\n<p>pm.max_children kadar \u00f6nemli bir di\u011fer karar da <code>pm<\/code> modudur. WordPress ve WooCommerce i\u00e7in sahada en pratik yakla\u015f\u0131m \u015f\u00f6yle:<\/p>\n<h3><span id=\"pm_dynamic_Cogu_WordPressWooCommerce_icin_onerilen_mod\">pm = dynamic: \u00c7o\u011fu WordPress\/WooCommerce i\u00e7in \u00f6nerilen mod<\/span><\/h3>\n<p>Dynamic mod, trafi\u011fe g\u00f6re child say\u0131s\u0131n\u0131 ayarlad\u0131\u011f\u0131 i\u00e7in genelde en dengeli se\u00e7enektir. Bu modda ayr\u0131ca \u015fu ayarlar devreye girer:<\/p>\n<ul>\n<li><strong>pm.start_servers<\/strong>: Servis ba\u015flad\u0131\u011f\u0131nda ka\u00e7 child a\u00e7\u0131ls\u0131n?<\/li>\n<li><strong>pm.min_spare_servers<\/strong>: Bo\u015fta en az ka\u00e7 child dursun?<\/li>\n<li><strong>pm.max_spare_servers<\/strong>: Bo\u015fta en fazla ka\u00e7 child dursun?<\/li>\n<\/ul>\n<p>\u00d6rne\u011fin <code>pm.max_children = 12<\/code> olan bir WordPress blog i\u00e7in:<\/p>\n<ul>\n<li><code>pm.start_servers = 3<\/code><\/li>\n<li><code>pm.min_spare_servers = 2<\/code><\/li>\n<li><code>pm.max_spare_servers = 6<\/code><\/li>\n<\/ul>\n<p>gibi de\u011ferler, hem RAM tasarrufu sa\u011flar hem de aniden gelen 3\u20134 iste\u011fi bekletmeden kar\u015f\u0131lamaya yard\u0131mc\u0131 olur.<\/p>\n<h3><span id=\"pm_ondemand_Dusuk_trafikli_siteler_icin_RAM_dostu_secenek\">pm = ondemand: D\u00fc\u015f\u00fck trafikli siteler i\u00e7in RAM dostu se\u00e7enek<\/span><\/h3>\n<p>D\u00fc\u015f\u00fck trafikli kurumsal site veya ki\u015fisel bloglarda, sunucunuzda ba\u015fka projeler de \u00e7al\u0131\u015f\u0131yorsa <strong>pm = ondemand<\/strong> kullanmak mant\u0131kl\u0131 olabilir. Bu modda:<\/p>\n<ul>\n<li>\u0130stek yokken child s\u00fcre\u00e7 yoktur (RAM harcanmaz).<\/li>\n<li>\u0130stek geldik\u00e7e s\u00fcre\u00e7 a\u00e7\u0131l\u0131r.<\/li>\n<li><code>pm.process_idle_timeout<\/code> s\u00fcresi dolunca bo\u015fta s\u00fcre\u00e7ler kapat\u0131l\u0131r.<\/li>\n<\/ul>\n<p>Bu modun handikap\u0131, <strong>ani trafik patlamalar\u0131nda<\/strong> ilk birka\u00e7 istekte ek gecikmelerdir, \u00e7\u00fcnk\u00fc s\u00fcre\u00e7ler s\u0131f\u0131rdan olu\u015fturulur. WooCommerce gibi \u00f6deme kritik i\u015f y\u00fcklerinde genellikle dynamic mod daha g\u00fcvenlidir.<\/p>\n<h3><span id=\"pm_static_Yuksek_ve_sabit_trafikli_izole_ortamlarda\">pm = static: Y\u00fcksek ve sabit trafikli, izole ortamlarda<\/span><\/h3>\n<p><strong>pm = static<\/strong>, child say\u0131s\u0131n\u0131 sabitleyip trafi\u011fe g\u00f6re asla oynatmaz. B\u00fcy\u00fck haber siteleri, yo\u011fun API sunucular\u0131 veya <strong>\u00e7ok iyi tan\u0131d\u0131\u011f\u0131n\u0131z<\/strong> bir WooCommerce y\u00fck\u00fc i\u00e7in kullan\u0131labilir. Avantaj\u0131, davran\u0131\u015f\u0131n a\u015f\u0131r\u0131 \u00f6ng\u00f6r\u00fclebilir olmas\u0131d\u0131r; dezavantaj\u0131 ise bo\u015fta RAM t\u00fcketimini azaltamaman\u0131zd\u0131r.<\/p>\n<h2><span id=\"pmmax_requests_Degerini_Nasil_Belirlemeliyim\">pm.max_requests De\u011ferini Nas\u0131l Belirlemeliyim?<\/span><\/h2>\n<p><strong>pm.max_requests<\/strong> i\u00e7in evrensel tek bir do\u011fru yok, ama baz\u0131 pratik aral\u0131klar var.<\/p>\n<p>Genel mant\u0131k \u015f\u00f6yle:<\/p>\n<ul>\n<li>WordPress \u00e7ekirde\u011fi kendi ba\u015f\u0131na \u00e7ok s\u0131zd\u0131ran bir yap\u0131 de\u011fildir ama eklentiler, tema ve \u00f6zel kodlar uzun s\u00fcre \u00e7al\u0131\u015fan s\u00fcre\u00e7lerde haf\u0131za s\u0131z\u0131nt\u0131s\u0131na neden olabilir.<\/li>\n<li>Bunu s\u0131n\u0131rlamak i\u00e7in, her child s\u00fcre\u00e7 belirli say\u0131da iste\u011fi i\u015fledikten sonra kapat\u0131l\u0131r ve yenisi a\u00e7\u0131l\u0131r.<\/li>\n<\/ul>\n<p>\u00d6nerdi\u011fimiz ba\u015flang\u0131\u00e7 aral\u0131klar\u0131:<\/p>\n<ul>\n<li><strong>Sade WordPress blog<\/strong>: 500\u20131000<\/li>\n<li><strong>Orta \u00f6l\u00e7ekli WooCommerce<\/strong>: 300\u2013600<\/li>\n<li><strong>\u00c7ok eklentili, a\u011f\u0131r WooCommerce<\/strong>: 200\u2013400 (RAM dalgalanmas\u0131n\u0131 izleyerek)<\/li>\n<\/ul>\n<p>Sahada s\u0131k kulland\u0131\u011f\u0131m\u0131z de\u011ferler:<\/p>\n<ul>\n<li>WordPress blog: <code>pm.max_requests = 800<\/code><\/li>\n<li>WooCommerce: <code>pm.max_requests = 400<\/code><\/li>\n<\/ul>\n<p>Zamanla <code>top<\/code>, <code>htop<\/code> ve PHP-FPM loglar\u0131n\u0131 izleyerek bu de\u011ferleri bir t\u0131k yukar\u0131 veya a\u015fa\u011f\u0131 \u00e7ekebilirsiniz.<\/p>\n<h2><span id=\"WordPress_ve_WooCommerce_Icin_Ornek_PHP-FPM_Havuz_Ayarlari\">WordPress ve WooCommerce \u0130\u00e7in \u00d6rnek PHP-FPM Havuz Ayarlar\u0131<\/span><\/h2>\n<p>A\u015fa\u011f\u0131da tipik iki senaryo i\u00e7in \u00f6rnek <code>www.conf<\/code> havuz ayarlar\u0131n\u0131 g\u00f6receksiniz. De\u011ferler do\u011frudan kopyala-yap\u0131\u015ft\u0131r i\u00e7in de\u011fil, <strong>referans<\/strong> olmas\u0131 i\u00e7in verilmi\u015ftir.<\/p>\n<h3><span id=\"Ornek_1_4_GB_RAM_sade_WordPress_blog_dynamic\">\u00d6rnek 1: 4 GB RAM, sade WordPress blog (dynamic)<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">[www]\nuser = www-data\ngroup = www-data\nlisten = \/run\/php-fpm.sock\n\npm = dynamic\npm.max_children = 12\npm.start_servers = 3\npm.min_spare_servers = 2\npm.max_spare_servers = 6\npm.max_requests = 800\n\n; Performans ve debug i\u00e7in \u00f6nerilen baz\u0131 ayarlar\nrequest_terminate_timeout = 60s\nrequest_slowlog_timeout = 5s\nslowlog = \/var\/log\/php-fpm\/www-slow.log\n<\/code><\/pre>\n<p>Bu yap\u0131, iyi bir sayfa \u00f6nbellekleme (full-page cache) ile birle\u015fti\u011finde, 4 GB RAM\u2019li bir VPS\u2019te olduk\u00e7a konforlu bir WordPress deneyimi sa\u011flayabilir. Sunucu taraf\u0131 optimizasyonun tamam\u0131n\u0131 ele ald\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-icin-sunucu-tarafi-optimizasyon-php-fpm-opcache-redis-ve-mysql-ile-neyi-ne-zaman-nasil-ayarlamalisin\/\">WordPress i\u00e7in sunucu taraf\u0131 optimizasyon rehberimizi<\/a> de mutlaka okuman\u0131z\u0131 \u00f6neririz.<\/p>\n<h3><span id=\"Ornek_2_8_GB_RAM_WooCommerce_magazasi_dynamic\">\u00d6rnek 2: 8 GB RAM, WooCommerce ma\u011fazas\u0131 (dynamic)<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">[www]\nuser = www-data\ngroup = www-data\nlisten = \/run\/php-fpm.sock\n\npm = dynamic\npm.max_children = 14\npm.start_servers = 4\npm.min_spare_servers = 3\npm.max_spare_servers = 8\npm.max_requests = 400\n\nrequest_terminate_timeout = 90s\nrequest_slowlog_timeout = 7s\nslowlog = \/var\/log\/php-fpm\/www-slow.log\n<\/code><\/pre>\n<p>Burada <code>request_terminate_timeout<\/code> de\u011ferini WooCommerce taraf\u0131nda b\u00fcy\u00fck sepetler ve a\u011f\u0131r sorgular i\u00e7in biraz daha y\u00fcksek tuttuk. Ancak \u00e7ok b\u00fcy\u00fctmek, hatal\u0131 veya sonsuz d\u00f6ng\u00fcye giren script\u2019lerin sistemi kilitlemesine izin verebilir; bu dengeyi iyi takip etmek gerekir.<\/p>\n<h2><span id=\"Gercek_Trafikte_Ayarlari_Dogrulama_ve_Ince_Ayar\">Ger\u00e7ek Trafikte Ayarlar\u0131 Do\u011frulama ve \u0130nce Ayar<\/span><\/h2>\n<p>Teoride her \u015fey g\u00fczel ama canl\u0131 trafikte ne oldu\u011funu g\u00f6rmeden do\u011fru ayar\u0131 bulmu\u015f say\u0131lmazs\u0131n\u0131z. Kontrol etmeniz gereken temel noktalar:<\/p>\n<h3><span id=\"1_PHP-FPM_loglarinda_pmmax_children_uyarilari_var_mi\">1. PHP-FPM loglar\u0131nda pm.max_children uyar\u0131lar\u0131 var m\u0131?<\/span><\/h3>\n<p>\u00d6rne\u011fin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">server reached pm.max_children setting (14), consider raising it\n<\/code><\/pre>\n<p>gibi sat\u0131rlar g\u00f6r\u00fcyorsan\u0131z, yo\u011fun anlarda PHP-FPM t\u00fcm child\u2019lar\u0131n\u0131 dolu kullan\u0131yor ve yeni gelen istekleri bekletiyor demektir. Bu durumda:<\/p>\n<ul>\n<li>\u00d6nce RAM kullan\u0131m\u0131n\u0131 kontrol edin (swap\u2019e d\u00fc\u015f\u00fcyor musunuz?).<\/li>\n<li>RAM elveriyorsa <code>pm.max_children<\/code> de\u011ferini 1\u20132 art\u0131rmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/li>\n<li>RAM s\u0131n\u0131r\u0131nda iseniz, tam sayfa \u00f6nbelle\u011fi, nesne \u00f6nbelle\u011fi (Redis) ve sorgu optimizasyonu ile y\u00fck\u00fc hafifletmeye \u00e7al\u0131\u015f\u0131n.<\/li>\n<\/ul>\n<h3><span id=\"2_RAM_kullanim_grafikleri_stabil_mi\">2. RAM kullan\u0131m grafikleri stabil mi?<\/span><\/h3>\n<p>pm.max_requests ile child\u2019lar\u0131 d\u00fczenli aral\u0131klarla yenilemeniz, RAM kullan\u0131m\u0131n\u0131n zaman i\u00e7inde merdiven gibi s\u00fcrekli artmas\u0131n\u0131 engellemeli. E\u011fer RAM \u015f\u00f6yle davran\u0131yorsa:<\/p>\n<ul>\n<li>G\u00fcn boyu yava\u015f yava\u015f art\u0131yor, gece de d\u00fc\u015fm\u00fcyor<\/li>\n<li>Swap kullan\u0131m\u0131na s\u0131k s\u0131k dokunuyor<\/li>\n<\/ul>\n<p>o zaman <code>pm.max_requests<\/code> de\u011ferini biraz d\u00fc\u015f\u00fcr\u00fcp (\u00f6rne\u011fin 800 \u2192 500, 400 \u2192 300 gibi) yeniden izlemek mant\u0131kl\u0131 olur.<\/p>\n<h3><span id=\"3_502504_hatalari_ve_TTFB_degerleri\">3. 502\/504 hatalar\u0131 ve TTFB de\u011ferleri<\/span><\/h3>\n<p>Y\u00fcksek TTFB (ilk bayta kadar ge\u00e7en s\u00fcre) ve zaman zaman ya\u015fanan 502\/504 hatalar\u0131 \u00e7o\u011fu zaman PHP-FPM ve backend kaynakl\u0131d\u0131r. Bu konuda daha geni\u015f bak\u0131\u015f a\u00e7\u0131s\u0131 i\u00e7in, <a href=\"https:\/\/www.dchost.com\/blog\/yuksek-ttfb-sorununu-cozmek-wordpress-ve-php-sitelerde-sunucu-tarafli-nedenler-ve-cozumler\/\">WordPress ve PHP sitelerde y\u00fcksek TTFB sorunlar\u0131n\u0131n nedenlerini ve \u00e7\u00f6z\u00fcmlerini<\/a> anlatt\u0131\u011f\u0131m\u0131z rehbere g\u00f6z atabilirsiniz.<\/p>\n<p>Ayr\u0131ca sayfa h\u0131z\u0131n\u0131 sadece hissiyatla de\u011fil, veriyle \u00f6l\u00e7mek i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/web-sitenizin-hizini-dogru-olcmek-gtmetrix-pagespeed-insights-ve-webpagetest-rehberi\/\">GTmetrix, PageSpeed Insights ve WebPageTest rehberimizde<\/a> anlatt\u0131\u011f\u0131m\u0131z metodlar\u0131 kullanman\u0131z\u0131 \u00f6neririz.<\/p>\n<h2><span id=\"Paylasimli_Hosting_VPS_ve_dedicated_sunucuda_PHP-FPM_Ayarlari\">Payla\u015f\u0131ml\u0131 Hosting, VPS ve <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>da PHP-FPM Ayarlar\u0131<\/span><\/h2>\n<p>Buraya kadar anlatt\u0131klar\u0131m\u0131z, <strong>VPS veya dedicated sunucu<\/strong> \u00fczerinde tam yetkiye sahip oldu\u011funuz senaryolar i\u00e7in birebir ge\u00e7erli. Peki <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a> taraf\u0131nda durum ne?<\/p>\n<h3><span id=\"Paylasimli_hostingte_durum\">Payla\u015f\u0131ml\u0131 hostingte durum<\/span><\/h3>\n<p>Payla\u015f\u0131ml\u0131 hosting paketlerinde PHP-FPM havuzlar\u0131 \u00e7o\u011fu zaman <strong>sa\u011flay\u0131c\u0131 taraf\u0131ndan merkezi olarak y\u00f6netilir<\/strong>. DCHost\u2019ta da, ayn\u0131 sunucuda y\u00fczlerce hesab\u0131n bir arada sa\u011fl\u0131kl\u0131 \u00e7al\u0131\u015fmas\u0131 i\u00e7in pm, pm.max_children vb. de\u011ferler sistem genelinde optimize edilir. Bu nedenle:<\/p>\n<ul>\n<li>cPanel veya Plesk \u00fczerinden bu de\u011ferleri do\u011frudan de\u011fi\u015ftiremezsiniz.<\/li>\n<li>Buna kar\u015f\u0131l\u0131k, opsiyonel PHP versiyonu, memory_limit, max_execution_time gibi <em>site bazl\u0131<\/em> ayarlar\u0131 kontrol edebilirsiniz.<\/li>\n<\/ul>\n<p>E\u011fer siteniz <strong>payla\u015f\u0131ml\u0131 hosting s\u0131n\u0131rlar\u0131n\u0131 zorluyorsa<\/strong>, s\u0131kl\u0131kla \u201cresource limit reached\u201d benzeri hatalar g\u00f6r\u00fcyorsan\u0131z; bir noktadan sonra en sa\u011fl\u0131kl\u0131 \u00e7\u00f6z\u00fcm, <a href=\"https:\/\/www.dchost.com\/blog\/paylasimli-hostingden-vpse-sorunsuz-gecis-rehberi\/\">payla\u015f\u0131ml\u0131 hosting\u2019ten VPS\u2019e sorunsuz ge\u00e7i\u015f rehberimizde<\/a> anlatt\u0131\u011f\u0131m\u0131z \u015fekilde, sitenizi DCHost VPS veya dedicated altyap\u0131m\u0131za ta\u015f\u0131y\u0131p PHP-FPM havuzunu tamamen kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlamak olacakt\u0131r.<\/p>\n<h3><span id=\"VPS_ve_dedicated_senaryosu\">VPS ve dedicated senaryosu<\/span><\/h3>\n<p>VPS veya fiziksel sunucuda;<\/p>\n<ul>\n<li>Her siteye ayr\u0131 havuz a\u00e7abilir,<\/li>\n<li>Her havuzun pm, pm.max_children ve pm.max_requests de\u011ferlerini ayr\u0131 ayr\u0131 hesaplayabilir,<\/li>\n<li>Ayr\u0131ca OPcache, Redis, MySQL\/InnoDB ayarlar\u0131n\u0131 da i\u015f y\u00fck\u00fcne g\u00f6re ince ayarlayabilirsiniz.<\/li>\n<\/ul>\n<p>PHP 8.x gibi daha yeni s\u00fcr\u00fcmlere ge\u00e7erken, FPM havuz ayarlar\u0131n\u0131n da g\u00f6zden ge\u00e7irilmesi \u015fart. Bu ge\u00e7i\u015fi planlarken <a href=\"https:\/\/www.dchost.com\/blog\/php-8-x-yukseltme-kontrol-listesi-wordpress-ve-laravelde-geriye-uyumluluk-opcache-preload-ve-fpm-havuz-ayarlari-nasil-tatli-tatli-kurulur\/\">PHP 8.x y\u00fckseltme kontrol listesi<\/a> yaz\u0131m\u0131zdaki FPM havuz \u00f6nerilerini de referans alabilirsiniz.<\/p>\n<h2><span id=\"DCHost_Uzerinde_WordPressWooCommerce_Icin_Pratik_Oneriler\">DCHost \u00dczerinde WordPress\/WooCommerce \u0130\u00e7in Pratik \u00d6neriler<\/span><\/h2>\n<p>DCHost altyap\u0131s\u0131nda WordPress ve WooCommerce m\u00fc\u015fterileriyle \u00e7al\u0131\u015f\u0131rken en verimli sonu\u00e7lar\u0131 genellikle \u015fu yakla\u015f\u0131mla al\u0131yoruz:<\/p>\n<ul>\n<li><strong>1) Do\u011fru plan ve altyap\u0131 se\u00e7imi:<\/strong> WooCommerce veya y\u00fcksek trafikli bloglar i\u00e7in NVMe diskli VPS veya dedicated sunucular, FPM havuzunun nefes almas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>2) OPcache + FPM birlikteli\u011fi:<\/strong> OPcache\u2019i etkinle\u015ftirip, FPM s\u00fcre\u00e7lerinin ayn\u0131 kodu tekrar tekrar compile etmesini engelleyin. Bu sayede child ba\u015f\u0131na RAM t\u00fcketimi de daha tahmin edilebilir olur.<\/li>\n<li><strong>3) Nesne \u00f6nbelle\u011fi (Redis) kullan\u0131m\u0131:<\/strong> \u00d6zellikle WooCommerce\u2019te transient ve sorgu y\u00fck\u00fcn\u00fc hafifletmek i\u00e7in kal\u0131c\u0131 nesne \u00f6nbelle\u011fi b\u00fcy\u00fck fark yarat\u0131r.<\/li>\n<li><strong>4) Veritaban\u0131 tuning:<\/strong> WooCommerce i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/woocommerce-icin-mysql-innodb-tuning-kontrol-listesi-buffer-pool-indeksleme-ve-slow-query-analizi-nasil-akillica-yapilir\/\">MySQL\/InnoDB tuning rehberimizde<\/a> anlatt\u0131\u011f\u0131m\u0131z ayarlarla gereksiz yava\u015f sorgular\u0131 temizlemek, FPM s\u00fcre\u00e7lerinin daha k\u0131sa ya\u015famas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>5) Yedekleme ve test ortam\u0131:<\/strong> FPM ve di\u011fer ayarlar\u0131 denemeden \u00f6nce sa\u011flam bir yedek stratejinizin olmas\u0131 \u00f6nemli. Bu konuda <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-yedekleme-stratejileri-paylasimli-hosting-ve-vpste-otomatik-yedek-ve-geri-yukleme\/\">WordPress yedekleme stratejileri<\/a> yaz\u0131m\u0131zdan yararlanabilirsiniz.<\/li>\n<\/ul>\n<h2><span id=\"Sonuc_Formulden_Pratige_PHP-FPM_Ayarlarini_Kontrol_Altina_Almak\">Sonu\u00e7: Form\u00fclden Prati\u011fe, PHP-FPM Ayarlar\u0131n\u0131 Kontrol Alt\u0131na Almak<\/span><\/h2>\n<p>\u00d6zetlersek; WordPress ve \u00f6zellikle WooCommerce i\u00e7in PHP-FPM ayarlar\u0131, \u201cvarsay\u0131lana b\u0131rak\u0131lacak\u201d detaylar de\u011fil. <strong>pm, pm.max_children ve pm.max_requests de\u011ferleri<\/strong> do\u011frudan:<\/p>\n<ul>\n<li>Ayn\u0131 anda ka\u00e7 iste\u011fi kald\u0131rabildi\u011finizi,<\/li>\n<li>RAM\u2019in nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131,<\/li>\n<li>502\/504 hatalar\u0131n\u0131n ne kadar s\u0131k g\u00f6r\u00fclece\u011fini,<\/li>\n<li>Yo\u011fun trafik anlar\u0131nda sitenin nefes al\u0131p alamayaca\u011f\u0131n\u0131<\/li>\n<\/ul>\n<p>belirliyor. Do\u011fru yakla\u015f\u0131m; \u00f6nce RAM b\u00fct\u00e7esini ve child ba\u015f\u0131na ger\u00e7ek RAM t\u00fcketimini \u00f6l\u00e7mek, ard\u0131ndan <code>pm.max_children<\/code> de\u011ferini form\u00fclle \u00e7\u0131kar\u0131p, <code>pm<\/code> modunu (\u00e7o\u011fu zaman dynamic) se\u00e7erek i\u015fe ba\u015flamak. Sonras\u0131nda loglar, RAM grafikleri ve TTFB \u00f6l\u00e7\u00fcmleriyle birka\u00e7 iterasyon daha yaparak ideal denge noktas\u0131n\u0131 bulmak.<\/p>\n<p>E\u011fer DCHost \u00fczerinde WordPress veya WooCommerce \u00e7al\u0131\u015ft\u0131r\u0131yor ve bu rehberi okurken akl\u0131n\u0131zda h\u00e2l\u00e2 soru i\u015faretleri kald\u0131ysa, altyap\u0131n\u0131z\u0131 birlikte inceleyip size \u00f6zel bir FPM plan\u0131 \u00e7\u0131karabiliriz. Sunucunuz ister payla\u015f\u0131ml\u0131, ister VPS, ister dedicated olsun; do\u011fru PHP-FPM ayarlar\u0131yla \u00e7ok daha stabil, h\u0131zl\u0131 ve \u00f6ng\u00f6r\u00fclebilir bir ortam elde etmek m\u00fcmk\u00fcn. Bir sonraki ad\u0131mda, bu ayarlar\u0131 canl\u0131ya almadan \u00f6nce k\u00fc\u00e7\u00fck bir <em>staging<\/em> ortam\u0131nda denemenizi; bunun i\u00e7in de <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-staging-ortami-nasil-kurulur-cpanelde-alt-alan-adi-klonlama-ve-guvenli-yayina-alma\/\">WordPress staging ortam\u0131 kurma rehberimizi<\/a> kullanman\u0131z\u0131 tavsiye ederiz.<\/p>\n<p>Do\u011fru yap\u0131land\u0131r\u0131lm\u0131\u015f bir PHP-FPM havuzu, yaln\u0131zca bug\u00fcn\u00fcn performans sorunlar\u0131n\u0131 \u00e7\u00f6zmekle kalmaz; trafik artt\u0131\u011f\u0131nda, kampanyalar \u00e7o\u011fald\u0131\u011f\u0131nda ve siteniz b\u00fcy\u00fcd\u00fc\u011f\u00fcnde de g\u00fcvenle \u00f6l\u00e7eklenmenizi sa\u011flar.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 WordPress ve WooCommerce \u0130\u00e7in PHP-FPM Ayarlar\u0131n\u0131 Neden Ciddiye Almal\u0131s\u0131n\u0131z?2 PHP-FPM Temel Kavramlar: pm, pm.max_children ve pm.max_requests2.1 PHP-FPM havuzu nedir?2.2 pm (process manager) nedir, hangi modlar var?2.3 pm.max_children ne i\u015fe yarar?2.4 pm.max_requests neden \u00f6nemli?3 Hesaba Ba\u015flamadan \u00d6nce: RAM B\u00fct\u00e7esini Do\u011fru Belirlemek3.1 WordPress ve WooCommerce i\u00e7in \u00f6rnek RAM da\u011f\u0131l\u0131m\u01314 Ad\u0131m Ad\u0131m Hesaplama: pm.max_children De\u011ferini Nas\u0131l Buluruz?4.1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3123,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3122","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3122"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3122\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3123"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}