{"id":2730,"date":"2025-12-02T22:40:54","date_gmt":"2025-12-02T19:40:54","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/buyuk-katalog-ve-marketplace-siteleri-icin-arama-altyapisi-vps-kaynak-planlama-ve-hosting-secimi\/"},"modified":"2025-12-02T22:40:54","modified_gmt":"2025-12-02T19:40:54","slug":"buyuk-katalog-ve-marketplace-siteleri-icin-arama-altyapisi-vps-kaynak-planlama-ve-hosting-secimi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/buyuk-katalog-ve-marketplace-siteleri-icin-arama-altyapisi-vps-kaynak-planlama-ve-hosting-secimi\/","title":{"rendered":"B\u00fcy\u00fck Katalog ve Marketplace Siteleri \u0130\u00e7in Arama Altyap\u0131s\u0131, VPS Kaynak Planlama ve Hosting Se\u00e7imi"},"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=\"#Buyuk_katalog_ve_marketplace_aramasinda_asil_sorun_ne\"><span class=\"toc_number toc_depth_1\">1<\/span> B\u00fcy\u00fck katalog ve marketplace aramas\u0131nda as\u0131l sorun ne?<\/a><\/li><li><a href=\"#Klasik_veritabani_aramasinin_sinirlari_ve_neden_ElasticsearchOpenSearch\"><span class=\"toc_number toc_depth_1\">2<\/span> Klasik veritaban\u0131 aramas\u0131n\u0131n s\u0131n\u0131rlar\u0131 ve neden Elasticsearch\/OpenSearch?<\/a><ul><li><a href=\"#LIKE_ile_arama_yaparken_duvara_tosladiginiz_an\"><span class=\"toc_number toc_depth_2\">2.1<\/span> LIKE ile arama yaparken duvara toslad\u0131\u011f\u0131n\u0131z an<\/a><\/li><li><a href=\"#ElasticsearchOpenSearch_neyi_farkli_yapar\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Elasticsearch\/OpenSearch neyi farkl\u0131 yapar?<\/a><\/li><\/ul><\/li><li><a href=\"#Buyuk_katalog_ve_marketplace_arama_mimarisini_nasil_kurgulamali\"><span class=\"toc_number toc_depth_1\">3<\/span> B\u00fcy\u00fck katalog ve marketplace arama mimarisini nas\u0131l kurgulamal\u0131?<\/a><ul><li><a href=\"#Temel_bilesenler_Uygulama_veritabani_ve_arama_kumesi\"><span class=\"toc_number toc_depth_2\">3.1<\/span> Temel bile\u015fenler: Uygulama, veritaban\u0131 ve arama k\u00fcmesi<\/a><\/li><li><a href=\"#Tek_node_mu_cok_nodelu_kume_mi\"><span class=\"toc_number toc_depth_2\">3.2<\/span> Tek node mu, \u00e7ok node\u2019lu k\u00fcme mi?<\/a><\/li><\/ul><\/li><li><a href=\"#VPS_kaynak_planlama_CPU_RAM_disk_ve_IOPSi_nasil_hesaplamali\"><span class=\"toc_number toc_depth_1\">4<\/span> VPS kaynak planlama: CPU, RAM, disk ve IOPS\u2019i nas\u0131l hesaplamal\u0131?<\/a><ul><li><a href=\"#Temel_prensip_RAM_aramaya_disk_indexe_calisir\"><span class=\"toc_number toc_depth_2\">4.1<\/span> Temel prensip: RAM aramaya, disk indexe \u00e7al\u0131\u015f\u0131r<\/a><\/li><li><a href=\"#Olceklere_gore_ornek_VPSdedicated_senaryolari\"><span class=\"toc_number toc_depth_2\">4.2<\/span> \u00d6l\u00e7eklere g\u00f6re \u00f6rnek VPS\/dedicated senaryolar\u0131<\/a><\/li><li><a href=\"#1_Kucuk-orta_olcek_100k300k_urun_saniyede_1030_sorgu\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 1) K\u00fc\u00e7\u00fck-orta \u00f6l\u00e7ek (100k\u2013300k \u00fcr\u00fcn, saniyede 10\u201330 sorgu)<\/a><\/li><li><a href=\"#2_Orta-buyuk_olcek_300k2M_urun_saniyede_30100_sorgu\"><span class=\"toc_number toc_depth_2\">4.4<\/span> 2) Orta-b\u00fcy\u00fck \u00f6l\u00e7ek (300k\u20132M \u00fcr\u00fcn, saniyede 30\u2013100 sorgu)<\/a><\/li><li><a href=\"#3_Buyuk_olcek_2M_urun_saniyede_100_sorgu\"><span class=\"toc_number toc_depth_2\">4.5<\/span> 3) B\u00fcy\u00fck \u00f6l\u00e7ek (2M+ \u00fcr\u00fcn, saniyede 100+ sorgu)<\/a><\/li><li><a href=\"#Arama_sunucusunu_uygulama_sunucusundan_ne_zaman_ayirmali\"><span class=\"toc_number toc_depth_2\">4.6<\/span> Arama sunucusunu uygulama sunucusundan ne zaman ay\u0131rmal\u0131?<\/a><\/li><\/ul><\/li><li><a href=\"#Index_tasarimi_mapping_ve_disk_kullanimini_kontrol_altinda_tutmak\"><span class=\"toc_number toc_depth_1\">5<\/span> Index tasar\u0131m\u0131, mapping ve disk kullan\u0131m\u0131n\u0131 kontrol alt\u0131nda tutmak<\/a><ul><li><a href=\"#Mapping_ve_field_turleri_neden_bu_kadar_onemli\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Mapping ve field t\u00fcrleri neden bu kadar \u00f6nemli?<\/a><\/li><li><a href=\"#Shard_sayisi_nasil_secilir\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Shard say\u0131s\u0131 nas\u0131l se\u00e7ilir?<\/a><\/li><li><a href=\"#Hotwarm_mimarisi_ile_maliyetleri_dengelemek\"><span class=\"toc_number toc_depth_2\">5.3<\/span> Hot\/warm mimarisi ile maliyetleri dengelemek<\/a><\/li><\/ul><\/li><li><a href=\"#Arama_altyapisini_uygulama_mimarisiyle_birlikte_dusunmek\"><span class=\"toc_number toc_depth_1\">6<\/span> Arama altyap\u0131s\u0131n\u0131 uygulama mimarisiyle birlikte d\u00fc\u015f\u00fcnmek<\/a><ul><li><a href=\"#Uygulama_veritabani_ve_arama_yukunu_birlikte_planlamak\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Uygulama, veritaban\u0131 ve arama y\u00fck\u00fcn\u00fc birlikte planlamak<\/a><\/li><li><a href=\"#Arama_guncellemeleri_senkronizasyon_ve_kuyruk_yapisi\"><span class=\"toc_number toc_depth_2\">6.2<\/span> Arama g\u00fcncellemeleri, senkronizasyon ve kuyruk yap\u0131s\u0131<\/a><\/li><li><a href=\"#Veritabani_ve_onbellek_katmanini_da_unutmamak\"><span class=\"toc_number toc_depth_2\">6.3<\/span> Veritaban\u0131 ve \u00f6nbellek katman\u0131n\u0131 da unutmamak<\/a><\/li><\/ul><\/li><li><a href=\"#Hosting_modeli_secimi_paylasimli_hosting_VPS_dedicated_ve_colocation\"><span class=\"toc_number toc_depth_1\">7<\/span> Hosting modeli se\u00e7imi: payla\u015f\u0131ml\u0131 hosting, VPS, dedicated ve colocation<\/a><ul><li><a href=\"#Paylasimli_hosting_nereye_kadar_yeter\"><span class=\"toc_number toc_depth_2\">7.1<\/span> Payla\u015f\u0131ml\u0131 hosting nereye kadar yeter?<\/a><\/li><li><a href=\"#VPS_ne_zaman_dogru_secim\"><span class=\"toc_number toc_depth_2\">7.2<\/span> VPS ne zaman do\u011fru se\u00e7im?<\/a><\/li><li><a href=\"#Dedicated_ve_colocation_ne_zaman_gundeme_gelir\"><span class=\"toc_number toc_depth_2\">7.3<\/span> Dedicated ve colocation ne zaman g\u00fcndeme gelir?<\/a><\/li><\/ul><\/li><li><a href=\"#Izleme_loglama_yedek_ve_felaket_senaryolari\"><span class=\"toc_number toc_depth_1\">8<\/span> \u0130zleme, loglama, yedek ve felaket senaryolar\u0131<\/a><ul><li><a href=\"#Arama_kumesini_nasil_izlemeniz_gerekir\"><span class=\"toc_number toc_depth_2\">8.1<\/span> Arama k\u00fcmesini nas\u0131l izlemeniz gerekir?<\/a><\/li><li><a href=\"#Yedekleme_ve_felaket_kurtarma\"><span class=\"toc_number toc_depth_2\">8.2<\/span> Yedekleme ve felaket kurtarma<\/a><\/li><\/ul><\/li><li><a href=\"#Performans_testleri_kapasite_tahmini_ve_iteratif_olcekleme\"><span class=\"toc_number toc_depth_1\">9<\/span> Performans testleri, kapasite tahmini ve iteratif \u00f6l\u00e7ekleme<\/a><ul><li><a href=\"#Canliya_cikmadan_once_mutlaka_sentetik_test_yapin\"><span class=\"toc_number toc_depth_2\">9.1<\/span> Canl\u0131ya \u00e7\u0131kmadan \u00f6nce mutlaka sentetik test yap\u0131n<\/a><\/li><li><a href=\"#Kapasite_tahmini_icin_pratik_bir_yaklasim\"><span class=\"toc_number toc_depth_2\">9.2<\/span> Kapasite tahmini i\u00e7in pratik bir yakla\u015f\u0131m<\/a><\/li><\/ul><\/li><li><a href=\"#Ozet_ve_yol_haritasi_DCHost_altyapisinda_arama_kumenizi_nasil_konumlandirabilirsiniz\"><span class=\"toc_number toc_depth_1\">10<\/span> \u00d6zet ve yol haritas\u0131: DCHost altyap\u0131s\u0131nda arama k\u00fcmenizi nas\u0131l konumland\u0131rabilirsiniz?<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Buyuk_katalog_ve_marketplace_aramasinda_asil_sorun_ne\">B\u00fcy\u00fck katalog ve marketplace aramas\u0131nda as\u0131l sorun ne?<\/span><\/h2>\n<p>Birka\u00e7 bin \u00fcr\u00fcnl\u00fc basit bir e-ticaret sitesinde arama motoru genelde ikinci plandad\u0131r. Klasik veritaban\u0131 sorgular\u0131, basit LIKE filtreleri ve birka\u00e7 kategori filtresi \u00e7o\u011fu zaman yeterli olur. Ancak \u00fcr\u00fcn say\u0131s\u0131 y\u00fcz binleri, hatta milyonlar\u0131 ge\u00e7ti\u011finde; onlarca filtre, \u00e7oklu kategori, kampanya etiketleri, skorlamalar ve ki\u015fiselle\u015ftirme devreye girdi\u011finde tablo tamamen de\u011fi\u015fir. Bir anda arama, sitenin <strong>kalp at\u0131\u015f\u0131<\/strong> haline gelir.<\/p>\n<p>DCHost\u2019ta g\u00f6rd\u00fc\u011f\u00fcm\u00fcz b\u00fcy\u00fck katalog ve marketplace projelerinin ortak noktas\u0131 \u015fu: Trafik problemleri, \u00e7o\u011fu zaman PHP veya veritaban\u0131ndan \u00f6nce <strong>arama katman\u0131nda<\/strong> patlak veriyor. Elasticsearch veya OpenSearch\u2019e ge\u00e7i\u015f karar\u0131 tam da bu noktada g\u00fcndeme geliyor; fakat as\u0131l kritik konu, bu arama altyap\u0131s\u0131n\u0131n nas\u0131l boyutland\u0131r\u0131laca\u011f\u0131 ve hangi <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>\/dedicated mimaride \u00e7al\u0131\u015faca\u011f\u0131 oluyor.<\/p>\n<p>Bu yaz\u0131da, b\u00fcy\u00fck katalog ve marketplace siteleri i\u00e7in Elasticsearch\/OpenSearch tabanl\u0131 arama altyap\u0131s\u0131n\u0131 hem mimari hem de <strong>VPS kaynak planlama<\/strong> a\u00e7\u0131s\u0131ndan detayland\u0131raca\u011f\u0131z. Hangi segmentte ne kadar CPU, RAM, disk ve IOPS\u2019e ihtiyac\u0131n\u0131z olur, arama sunucusunu uygulama ve veritaban\u0131ndan ne zaman ay\u0131rmal\u0131s\u0131n\u0131z, do\u011fru hosting modelini nas\u0131l se\u00e7melisiniz; hepsini DCHost taraf\u0131ndaki ger\u00e7ek senaryolara yaslanarak ad\u0131m ad\u0131m konu\u015faca\u011f\u0131z.<\/p>\n<h2><span id=\"Klasik_veritabani_aramasinin_sinirlari_ve_neden_ElasticsearchOpenSearch\">Klasik veritaban\u0131 aramas\u0131n\u0131n s\u0131n\u0131rlar\u0131 ve neden Elasticsearch\/OpenSearch?<\/span><\/h2>\n<h3><span id=\"LIKE_ile_arama_yaparken_duvara_tosladiginiz_an\">LIKE ile arama yaparken duvara toslad\u0131\u011f\u0131n\u0131z an<\/span><\/h3>\n<p>B\u00fcy\u00fck katalog ve marketplace projelerinde ilk versiyon genelde \u015f\u00f6yle ba\u015flar: T\u00fcm \u00fcr\u00fcnler SQL veritaban\u0131ndad\u0131r, arama da \u00fcr\u00fcn tablosunda LIKE veya basit FULLTEXT indekslerle \u00e7\u00f6z\u00fcl\u00fcr. Ba\u015flang\u0131\u00e7ta sorun yoktur; fakat zamanla \u015fu problemler ortaya \u00e7\u0131kar:<\/p>\n<ul>\n<li>\u00dcr\u00fcn say\u0131s\u0131 artt\u0131k\u00e7a arama sorgular\u0131 gecikmeli d\u00f6nmeye ba\u015flar.<\/li>\n<li>Filtreler (marka, fiyat aral\u0131\u011f\u0131, beden, renk, stok durumu vb.) ile aramay\u0131 birle\u015ftirince sorgular karma\u015f\u0131kla\u015f\u0131r.<\/li>\n<li>Relevans (en alakal\u0131 sonucu ilk g\u00f6sterme) y\u00f6netilemez hale gelir.<\/li>\n<li>Otomatik tamamlama, \u00f6neri, benzer \u00fcr\u00fcn gibi geli\u015fmi\u015f \u00f6zellikleri eklemek zorla\u015f\u0131r.<\/li>\n<\/ul>\n<p>Veritaban\u0131n\u0131z\u0131 ne kadar iyi ayarlarsan\u0131z ayarlay\u0131n, genel ama\u00e7l\u0131 bir SQL motorundan <strong>Google benzeri bir arama deneyimi<\/strong> beklemek orta-uzun vadede s\u00fcrd\u00fcr\u00fclebilir de\u011fildir. Arama, bamba\u015fka bir problem setidir ve tam da bu nedenle Elasticsearch ve OpenSearch gibi <strong>arama odakl\u0131<\/strong> motorlar ortaya \u00e7\u0131km\u0131\u015ft\u0131r.<\/p>\n<h3><span id=\"ElasticsearchOpenSearch_neyi_farkli_yapar\">Elasticsearch\/OpenSearch neyi farkl\u0131 yapar?<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch\u2019in temel fark\u0131, verileri sat\u0131r-s\u00fctun yap\u0131s\u0131ndan \u00e7\u0131kar\u0131p <strong>inverted index<\/strong> ad\u0131 verilen arama dostu bir yap\u0131ya d\u00f6n\u00fc\u015ft\u00fcrmesidir. Bunun pratikte size sa\u011flad\u0131\u011f\u0131 faydalar:<\/p>\n<ul>\n<li><strong>\u00c7ok h\u0131zl\u0131 tam metin arama:<\/strong> Milyonlarca \u00fcr\u00fcn i\u00e7inde milisaniyeler mertebesinde sonu\u00e7.<\/li>\n<li><strong>Relevans skoru:<\/strong> Hangi kelime nerede ge\u00e7ti, ka\u00e7 defa ge\u00e7ti, ba\u015fl\u0131kta m\u0131 a\u00e7\u0131klamada m\u0131 ge\u00e7ti; hepsi skora yans\u0131r.<\/li>\n<li><strong>Analiz ve normalizasyon:<\/strong> K\u00fc\u00e7\u00fck\/b\u00fcy\u00fck harf, accent\u2019ler, k\u00f6k bulma (stemming), e\u015f anlaml\u0131lar kolayca y\u00f6netilir.<\/li>\n<li><strong>Aggregrations:<\/strong> Filtre kutucuklar\u0131nda (faceted search) anl\u0131k say\u0131m, ortalama, min\/max hesaplar\u0131 yap\u0131labilir.<\/li>\n<li><strong>Yatay \u00f6l\u00e7eklenebilirlik:<\/strong> Shard ve replika mant\u0131\u011f\u0131 ile veriyi ve y\u00fck\u00fc birden fazla node\u2019a da\u011f\u0131tabilirsiniz.<\/li>\n<\/ul>\n<p>Bu avantajlar\u0131n hepsi, do\u011frudan <strong>kullan\u0131c\u0131 deneyimine<\/strong> yans\u0131r: Daha alakal\u0131 sonu\u00e7lar, daha h\u0131zl\u0131 kategori\/filtre sayfalar\u0131 ve kampanyalarda \u00e7\u00f6kmeden ayakta kalan bir sistem.<\/p>\n<h2><span id=\"Buyuk_katalog_ve_marketplace_arama_mimarisini_nasil_kurgulamali\">B\u00fcy\u00fck katalog ve marketplace arama mimarisini nas\u0131l kurgulamal\u0131?<\/span><\/h2>\n<h3><span id=\"Temel_bilesenler_Uygulama_veritabani_ve_arama_kumesi\">Temel bile\u015fenler: Uygulama, veritaban\u0131 ve arama k\u00fcmesi<\/span><\/h3>\n<p>Tipik bir b\u00fcy\u00fck katalog veya marketplace mimarisinde \u00fc\u00e7 ana katman bulunur:<\/p>\n<ol>\n<li><strong>Uygulama katman\u0131:<\/strong> PHP (Laravel, WooCommerce), Node.js, Java vb. ile yaz\u0131lm\u0131\u015f as\u0131l i\u015f mant\u0131\u011f\u0131.<\/li>\n<li><strong>Veritaban\u0131 katman\u0131:<\/strong> MySQL\/MariaDB, PostgreSQL gibi ili\u015fkisel veritaban\u0131.<\/li>\n<li><strong>Arama katman\u0131:<\/strong> Elasticsearch\/OpenSearch k\u00fcmesi.<\/li>\n<\/ol>\n<p>K\u00fc\u00e7\u00fck projelerde bu \u00fc\u00e7 katman tek bir VPS \u00fczerinde bile ko\u015fabilir; ancak \u00fcr\u00fcn say\u0131s\u0131 ve trafik artt\u0131k\u00e7a katmanlar\u0131n ayr\u0131\u015fmas\u0131 ka\u00e7\u0131n\u0131lmaz olur. DCHost taraf\u0131nda b\u00fcy\u00fck katalog projelerinde genelde \u015fu ad\u0131ml\u0131 ge\u00e7i\u015f yolculu\u011funu g\u00f6r\u00fcyoruz:<\/p>\n<ul>\n<li>Ba\u015flang\u0131\u00e7ta: Uygulama + veritaban\u0131 + Elasticsearch ayn\u0131 VPS\u2019te.<\/li>\n<li>Orta \u00f6l\u00e7ek: Veritaban\u0131 ayr\u0131 VPS\/dedicated, uygulama + Elasticsearch ayn\u0131 sunucuda.<\/li>\n<li>B\u00fcy\u00fck \u00f6l\u00e7ek: Uygulama, veritaban\u0131 ve Elasticsearch k\u00fcmesi tamamen ayr\u0131 sunucularda, hatta ayr\u0131 katmanlar halinde.<\/li>\n<\/ul>\n<p>Bu ayr\u0131\u015ft\u0131rma karar\u0131n\u0131 verirken sadece arama taraf\u0131n\u0131 de\u011fil, <a href='https:\/\/www.dchost.com\/blog\/woocommerce-kapasite-planlama-rehberi-vcpu-ram-iops-nasil-hesaplanir\/'>uygulama ve veritaban\u0131 i\u00e7in kapasite planlama<\/a> gerekliliklerini de beraber d\u00fc\u015f\u00fcnmek kritik.<\/p>\n<h3><span id=\"Tek_node_mu_cok_nodelu_kume_mi\">Tek node mu, \u00e7ok node\u2019lu k\u00fcme mi?<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch i\u00e7in mimariyi planlarken temel soru: <strong>Tek node yeter mi, yoksa k\u00fcme \u015fart m\u0131?<\/strong><\/p>\n<ul>\n<li><strong>Tek node senaryosu:<\/strong> 100\u2013200 bin \u00fcr\u00fcn, saniyede 10\u201330 arama iste\u011fi, kritik olmayan SLA. Geli\u015ftirme ve erken a\u015fama projeler i\u00e7in uygun.<\/li>\n<li><strong>3 node\u2019lu k\u00fcme:<\/strong> 500 bin \u2013 5 milyon \u00fcr\u00fcn, saniyede 50\u2013200 arama iste\u011fi, y\u00fcksek eri\u015filebilirlik ihtiyac\u0131. \u00c7o\u011fu olgun marketplace i\u00e7in ger\u00e7ek\u00e7i ba\u015flang\u0131\u00e7.<\/li>\n<li><strong>Daha b\u00fcy\u00fck k\u00fcmeler:<\/strong> 5 milyon+ \u00fcr\u00fcn, saniyede y\u00fczlerce istek, a\u011f\u0131r analitik sorgular. Burada sharding stratejisi, index lifecycle ve warm\/hot node ayr\u0131m\u0131 devreye girer.<\/li>\n<\/ul>\n<p>\u00dc\u00e7 node\u2019lu minimal bir k\u00fcme genelde \u015fu rollere ayr\u0131l\u0131r:<\/p>\n<ul>\n<li>Hepsi hem <strong>master eligible<\/strong> hem <strong>data node<\/strong> (k\u00fc\u00e7\u00fck\/orta \u00f6l\u00e7ek i\u00e7in pratik \u00e7\u00f6z\u00fcm).<\/li>\n<li>B\u00fcy\u00fck \u00f6l\u00e7eklerde master, data ve koordinasyon (ingest) rollerini ay\u0131rmak daha do\u011fru olur.<\/li>\n<\/ul>\n<h2><span id=\"VPS_kaynak_planlama_CPU_RAM_disk_ve_IOPSi_nasil_hesaplamali\">VPS kaynak planlama: CPU, RAM, disk ve IOPS\u2019i nas\u0131l hesaplamal\u0131?<\/span><\/h2>\n<h3><span id=\"Temel_prensip_RAM_aramaya_disk_indexe_calisir\">Temel prensip: RAM aramaya, disk indexe \u00e7al\u0131\u015f\u0131r<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch Java tabanl\u0131d\u0131r ve <strong>heap belle\u011fine<\/strong> \u00e7ok ba\u011f\u0131ml\u0131d\u0131r. Genel kabul g\u00f6ren kural, toplam RAM\u2019in en fazla %50\u2019sini JVM heap\u2019e vermektir. Geri kalan %50 ise dosya cache ve i\u015fletim sistemi i\u00e7in b\u0131rak\u0131l\u0131r. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>32 GB RAM\u2019li bir node\u2019da tipik olarak 16 GB heap, 16 GB OS cache kullan\u0131rs\u0131n\u0131z.<\/li>\n<li>64 GB RAM\u2019li bir node\u2019da 32 GB heap, 32 GB OS cache mant\u0131kl\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Disk taraf\u0131nda ise as\u0131l kritik olan <strong>IOPS ve gecikme<\/strong> de\u011ferleridir. B\u00fcy\u00fck katalog ve marketplace\u2019lerde klasik HDD yerine <strong>NVMe depolama<\/strong> kullanmak neredeyse mecburi hale gelir. Bu konuyu daha geni\u015f perspektiften g\u00f6rmek isterseniz, <a href='https:\/\/www.dchost.com\/blog\/nvme-vps-hosting-rehberi-hizin-nereden-geldigini-nasil-olculdugunu-ve-gercek-sonuclari-beraber-gorelim\/'>NVMe VPS hosting rehberimizde<\/a> disk h\u0131z\u0131n\u0131n ger\u00e7ek d\u00fcnyadaki etkilerini detayl\u0131 anlatt\u0131k.<\/p>\n<h3><span id=\"Olceklere_gore_ornek_VPSdedicated_senaryolari\">\u00d6l\u00e7eklere g\u00f6re \u00f6rnek VPS\/dedicated senaryolar\u0131<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki rakamlar, DCHost\u2019ta s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz <strong>yakla\u015f\u0131k<\/strong> konfig\u00fcrasyonlard\u0131r. Elbette \u00fcr\u00fcn verinizin i\u00e7eri\u011fi, mapping yap\u0131n\u0131z ve sorgu karma\u015f\u0131kl\u0131\u011f\u0131na g\u00f6re de\u011fi\u015febilir; fakat planlama yaparken sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 verir.<\/p>\n<h3><span id=\"1_Kucuk-orta_olcek_100k300k_urun_saniyede_1030_sorgu\">1) K\u00fc\u00e7\u00fck-orta \u00f6l\u00e7ek (100k\u2013300k \u00fcr\u00fcn, saniyede 10\u201330 sorgu)<\/span><\/h3>\n<ul>\n<li><strong>Topoloji:<\/strong> Tek node Elasticsearch\/OpenSearch, uygulama ve veritaban\u0131 ile ayn\u0131 sunucuda veya ayr\u0131 k\u00fc\u00e7\u00fck bir VPS\u2019te.<\/li>\n<li><strong>Kaynak \u00f6nerisi (arama i\u00e7in ayr\u0131lm\u0131\u015f VPS):<\/strong>\n<ul>\n<li>4 vCPU<\/li>\n<li>16 GB RAM (8 GB heap, 8 GB OS cache)<\/li>\n<li>NVMe depolama taraf\u0131nda minimum 200\u2013300 GB (index + replica + b\u00fcy\u00fcme pay\u0131)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Kullan\u0131m alan\u0131:<\/strong> Ni\u015f e-ticaret, B2B kataloglar, b\u00f6lgesel marketplace\u2019ler.<\/li>\n<\/ul>\n<h3><span id=\"2_Orta-buyuk_olcek_300k2M_urun_saniyede_30100_sorgu\">2) Orta-b\u00fcy\u00fck \u00f6l\u00e7ek (300k\u20132M \u00fcr\u00fcn, saniyede 30\u2013100 sorgu)<\/span><\/h3>\n<ul>\n<li><strong>Topoloji:<\/strong> 3 node\u2019lu Elasticsearch\/OpenSearch k\u00fcmesi. Uygulama ve veritaban\u0131 ayr\u0131 VPS\/<a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>larda.<\/li>\n<li><strong>Node ba\u015f\u0131na kaynak \u00f6nerisi:<\/strong>\n<ul>\n<li>4\u20138 vCPU<\/li>\n<li>32 GB RAM (16 GB heap, 16 GB OS cache)<\/li>\n<li>NVMe depolamada node ba\u015f\u0131na en az 500 GB (b\u00fcy\u00fcmeye g\u00f6re yukar\u0131 \u00e7ekilebilir)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Sharding:<\/strong> Genelde index ba\u015f\u0131na 3\u20135 primary shard, 1 replika ile ba\u015flanabilir.<\/li>\n<\/ul>\n<h3><span id=\"3_Buyuk_olcek_2M_urun_saniyede_100_sorgu\">3) B\u00fcy\u00fck \u00f6l\u00e7ek (2M+ \u00fcr\u00fcn, saniyede 100+ sorgu)<\/span><\/h3>\n<ul>\n<li><strong>Topoloji:<\/strong> En az 3\u20135 data node, gerekirse ayr\u0131 master node\u2019lar ve koordinasyon node\u2019lar\u0131.<\/li>\n<li><strong>Node ba\u015f\u0131na kaynak \u00f6nerisi:<\/strong>\n<ul>\n<li>8\u201316 vCPU<\/li>\n<li>64 GB RAM (32 GB heap, 32 GB OS cache)<\/li>\n<li>NVMe depolamada node ba\u015f\u0131na 1\u20132 TB (hot\/warm mimarisine g\u00f6re de\u011fi\u015febilir)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Ek not:<\/strong> A\u011f bant geni\u015fli\u011fi ve latency bu \u00f6l\u00e7ekte <strong>kritik<\/strong> hale gelir; network altyap\u0131n\u0131z\u0131n veri merkezi taraf\u0131nda buna uygun tasarland\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/li>\n<\/ul>\n<h3><span id=\"Arama_sunucusunu_uygulama_sunucusundan_ne_zaman_ayirmali\">Arama sunucusunu uygulama sunucusundan ne zaman ay\u0131rmal\u0131?<\/span><\/h3>\n<p>S\u0131kl\u0131kla gelen sorulardan biri de bu: &#8220;Elasticsearch\/OpenSearch uygulama ile ayn\u0131 VPS\u2019te kalsa olur mu?&#8221; Genel deneyimimiz \u015fu y\u00f6nde:<\/p>\n<ul>\n<li>100k \u00fcr\u00fcn alt\u0131 ve d\u00fc\u015f\u00fck trafik: Ayn\u0131 VPS\u2019te ba\u015flayabilirsiniz, maliyet avantaj\u0131 sa\u011flar.<\/li>\n<li>100k\u2013300k \u00fcr\u00fcn ve kampanyal\u0131 trafik: Arama motoru ciddi CPU ve RAM kullanmaya ba\u015flar, uygulama ile kaynak rekabeti do\u011far. Bu noktada arama i\u00e7in ayr\u0131 bir VPS mant\u0131kl\u0131d\u0131r.<\/li>\n<li>300k+ \u00fcr\u00fcn ve e\u015fzamanl\u0131 100+ kullan\u0131c\u0131: Aramay\u0131 ayr\u0131 VPS (veya k\u00fcme) olarak ay\u0131rmak neredeyse zorunludur.<\/li>\n<\/ul>\n<p>Bunu sadece performans i\u00e7in de\u011fil, <strong>izolasyon<\/strong> i\u00e7in de yapars\u0131n\u0131z. \u00d6rne\u011fin arama index yenilemesi s\u0131ras\u0131nda CPU\u2019nuz tavana vurdu\u011funda, bunun checkout veya \u00f6deme i\u015flemlerini etkilememesini istersiniz.<\/p>\n<h2><span id=\"Index_tasarimi_mapping_ve_disk_kullanimini_kontrol_altinda_tutmak\">Index tasar\u0131m\u0131, mapping ve disk kullan\u0131m\u0131n\u0131 kontrol alt\u0131nda tutmak<\/span><\/h2>\n<h3><span id=\"Mapping_ve_field_turleri_neden_bu_kadar_onemli\">Mapping ve field t\u00fcrleri neden bu kadar \u00f6nemli?<\/span><\/h3>\n<p>B\u00fcy\u00fck katalog ve marketplace projelerinde s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz hatalardan biri, her alan\u0131 gereksiz yere hem <strong>text<\/strong> hem <strong>keyword<\/strong> olarak indexlemektir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>\u00dcr\u00fcn ba\u015fl\u0131\u011f\u0131: text + keyword (anla\u015f\u0131l\u0131r)<\/li>\n<li>\u00dcr\u00fcn a\u00e7\u0131klamas\u0131: text (\u00e7o\u011fu zaman keyword gerekmez)<\/li>\n<li>Fiyat: double (text\/keyword olmamal\u0131)<\/li>\n<li>Stok kodu: keyword (tam e\u015fle\u015fme i\u00e7in yeterli)<\/li>\n<\/ul>\n<p>Yanl\u0131\u015f mapping, gereksiz index alan\u0131na, daha y\u00fcksek RAM\/disk ihtiyac\u0131na ve daha yava\u015f sorgulara yol a\u00e7ar. Katalog yap\u0131n\u0131z\u0131 iyi analiz edip, hangi alan\u0131n tam e\u015fle\u015fme, hangisinin tam metin arama, hangisinin sadece filtreleme i\u00e7in kullan\u0131laca\u011f\u0131n\u0131 netle\u015ftirmeniz gerekir.<\/p>\n<h3><span id=\"Shard_sayisi_nasil_secilir\">Shard say\u0131s\u0131 nas\u0131l se\u00e7ilir?<\/span><\/h3>\n<p>Her index i\u00e7in shard say\u0131s\u0131n\u0131 belirlerken \u015fu noktalara bakabilirsiniz:<\/p>\n<ul>\n<li>Beklenen toplam index boyutu ( \u00f6rn. 100 GB m\u0131, 1 TB m\u0131?).<\/li>\n<li>K\u00fcmedeki data node say\u0131s\u0131.<\/li>\n<li>Okuma\/yazma dengesine g\u00f6re sorgu da\u011f\u0131l\u0131m\u0131.<\/li>\n<\/ul>\n<p>Genel yakla\u015f\u0131m:<\/p>\n<ul>\n<li>100 GB alt\u0131 index\u2019ler i\u00e7in 1\u20133 primary shard ile ba\u015flamak \u00e7o\u011fu zaman yeterlidir.<\/li>\n<li>100 GB\u20131 TB aras\u0131 index\u2019lerde 3\u20135 primary shard makuld\u00fcr.<\/li>\n<li>Replica say\u0131s\u0131n\u0131 genelde minimum 1 tutmak, hem y\u00fcksek eri\u015filebilirlik hem de okuma \u00f6l\u00e7eklenebilirli\u011fi i\u00e7in \u00f6nemlidir.<\/li>\n<\/ul>\n<p>Shard say\u0131s\u0131n\u0131 \u00e7ok y\u00fcksek tutmak, y\u00f6netim y\u00fck\u00fcn\u00fc ve bellek t\u00fcketimini gereksiz artt\u0131r\u0131r; dolay\u0131s\u0131yla &#8220;ne kadar \u00e7ok shard o kadar iyi&#8221; yakla\u015f\u0131m\u0131 do\u011fru de\u011fildir.<\/p>\n<h3><span id=\"Hotwarm_mimarisi_ile_maliyetleri_dengelemek\">Hot\/warm mimarisi ile maliyetleri dengelemek<\/span><\/h3>\n<p>Belli bir \u00f6l\u00e7e\u011fin \u00fczerinde, t\u00fcm index\u2019lerinizi en pahal\u0131 ve en h\u0131zl\u0131 NVMe disklerde tutmak zorunda de\u011filsiniz. S\u0131k sorgulanan son d\u00f6nem verilerini <strong>hot node<\/strong>\u2019larda, daha eski ve seyrek kullan\u0131lan verileri <strong>warm node<\/strong>\u2019larda tutarak maliyet\/performans dengesini sa\u011flayabilirsiniz. Bu yakla\u015f\u0131m, \u00f6zellikle b\u00fcy\u00fck log index\u2019lerine ek olarak katalog ge\u00e7mi\u015fi tutan sistemlerde i\u015fe yarar.<\/p>\n<p>Genel hosting b\u00fct\u00e7enizi planlarken bu t\u00fcr stratejilerin etkisini anlamak i\u00e7in, <a href='https:\/\/www.dchost.com\/blog\/hosting-maliyetlerini-dusurme-rehberi-dogru-vps-boyutlandirma-trafik-ve-depolama-planlamasi\/'>hosting maliyetlerini d\u00fc\u015f\u00fcrme rehberimize<\/a> de mutlaka g\u00f6z atman\u0131z\u0131 \u00f6neririm.<\/p>\n<h2><span id=\"Arama_altyapisini_uygulama_mimarisiyle_birlikte_dusunmek\">Arama altyap\u0131s\u0131n\u0131 uygulama mimarisiyle birlikte d\u00fc\u015f\u00fcnmek<\/span><\/h2>\n<h3><span id=\"Uygulama_veritabani_ve_arama_yukunu_birlikte_planlamak\">Uygulama, veritaban\u0131 ve arama y\u00fck\u00fcn\u00fc birlikte planlamak<\/span><\/h3>\n<p>Sadece Elasticsearch\/OpenSearch taraf\u0131n\u0131 do\u011fru boyutland\u0131rmak yetmez; uygulama ve veritaban\u0131 hesaplar\u0131n\u0131 da beraber yapmal\u0131s\u0131n\u0131z. \u00d6rne\u011fin WooCommerce, Laravel veya Node.js tabanl\u0131 bir marketplace geli\u015ftiriyorsan\u0131z:<\/p>\n<ul>\n<li>Uygulama i\u00e7in CPU ve RAM ihtiyac\u0131 (PHP-FPM worker say\u0131s\u0131, Node.js worker\u2019lar\u0131 vb.).<\/li>\n<li>Veritaban\u0131 i\u00e7in buffer pool, connection pool ve disk IOPS ihtiyac\u0131.<\/li>\n<li>Arama i\u00e7in shard, replika ve heap planlamas\u0131.<\/li>\n<\/ul>\n<p>Bu \u00fc\u00e7l\u00fcy\u00fc beraber d\u00fc\u015f\u00fcnmek i\u00e7in haz\u0131rlanm\u0131\u015f detayl\u0131 bir rehber ar\u0131yorsan\u0131z, <a href='https:\/\/www.dchost.com\/blog\/woocommerce-laravel-ve-node-jsde-dogru-vps-kaynaklarini-nasil-secersin-cpu-ram-nvme-ve-bant-genisligi-rehberi\/'>WooCommerce, Laravel ve Node.js i\u00e7in do\u011fru VPS kaynaklar\u0131n\u0131 se\u00e7me rehberimize<\/a> g\u00f6z atman\u0131z\u0131 \u00f6zellikle tavsiye ederim.<\/p>\n<h3><span id=\"Arama_guncellemeleri_senkronizasyon_ve_kuyruk_yapisi\">Arama g\u00fcncellemeleri, senkronizasyon ve kuyruk yap\u0131s\u0131<\/span><\/h3>\n<p>Marketplace veya b\u00fcy\u00fck katalog sitelerinde arama index\u2019ini g\u00fcncel tutmak ba\u015fl\u0131 ba\u015f\u0131na bir konudur. Temel ak\u0131\u015f \u015f\u00f6yle \u00e7al\u0131\u015f\u0131r:<\/p>\n<ol>\n<li>\u00dcr\u00fcn verisi as\u0131l veritaban\u0131na yaz\u0131l\u0131r veya g\u00fcncellenir.<\/li>\n<li>Bu de\u011fi\u015fikli\u011fi bir kuyruk sistemine (\u00f6r. job queue) g\u00f6nderirsiniz.<\/li>\n<li>Kuyruktaki i\u015f, Elasticsearch\/OpenSearch index\u2019ini g\u00fcnceller.<\/li>\n<\/ol>\n<p>Yo\u011fun kataloglarda, toplu index yenilemeleri (reindex) s\u0131ras\u0131nda arama k\u00fcmenizi kilitlememek i\u00e7in \u015fu pratikleri kullanabilirsiniz:<\/p>\n<ul>\n<li>Blue\/green index stratejisi: Yeni index\u2019i arka planda haz\u0131rlay\u0131p alias ile canl\u0131ya almak.<\/li>\n<li>Batch boyutlar\u0131n\u0131 dikkatli ayarlamak (\u00f6rne\u011fin 500\u20131000 dok\u00fcmanl\u0131k par\u00e7alar halinde indexlemek).<\/li>\n<li>Index i\u015flemlerini trafi\u011fin nispeten d\u00fc\u015f\u00fck oldu\u011fu saatlere kayd\u0131rmak.<\/li>\n<\/ul>\n<h3><span id=\"Veritabani_ve_onbellek_katmanini_da_unutmamak\">Veritaban\u0131 ve \u00f6nbellek katman\u0131n\u0131 da unutmamak<\/span><\/h3>\n<p>Arama motoru ne kadar iyi olursa olsun, kategori sayfalar\u0131n\u0131zda ve \u00fcr\u00fcn detay sayfalar\u0131n\u0131zda <strong>\u00f6nbellek<\/strong> kullanm\u0131yorsan\u0131z, gereksiz y\u00fck \u00fcretirsiniz. B\u00fcy\u00fck katalog ve marketplace mimarilerinde genelde \u015fu yap\u0131 tercih edilir:<\/p>\n<ul>\n<li>Elasticsearch\/OpenSearch sadece arama ve filtreler i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li>\u00dcr\u00fcn detaylar\u0131, fiyat ve stok bilgisi as\u0131l veritaban\u0131ndan (veya \u00f6nbellekten) \u00e7ekilir.<\/li>\n<li>Hot sayfalar (ana kategori, kampanya sayfalar\u0131) tam sayfa \u00f6nbellekle h\u0131zland\u0131r\u0131l\u0131r.<\/li>\n<\/ul>\n<p>Benzer bir ayr\u0131\u015ft\u0131rmay\u0131 e-ticaret taraf\u0131nda da g\u00f6rebilirsiniz. \u00d6rne\u011fin, <a href='https:\/\/www.dchost.com\/blog\/woocommerce-icin-ayri-veritabani-ve-onbellek-sunucusu-ne-zaman-mantikli\/'>WooCommerce i\u00e7in ayr\u0131 veritaban\u0131 ve \u00f6nbellek sunucusunun ne zaman mant\u0131kl\u0131 oldu\u011funa<\/a> dair yaz\u0131m\u0131zda, uygulama-veritaban\u0131-\u00f6nbellek ayr\u0131m\u0131n\u0131 ayr\u0131nt\u0131l\u0131 \u015fekilde anlat\u0131yoruz. Ayn\u0131 prensipleri arama altyap\u0131s\u0131 i\u00e7in de d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<h2><span id=\"Hosting_modeli_secimi_paylasimli_hosting_VPS_dedicated_ve_colocation\">Hosting modeli se\u00e7imi: <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a>, VPS, dedicated ve colocation<\/span><\/h2>\n<h3><span id=\"Paylasimli_hosting_nereye_kadar_yeter\">Payla\u015f\u0131ml\u0131 hosting nereye kadar yeter?<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch gibi servisler, do\u011fas\u0131 gere\u011fi uzun s\u00fcreli \u00e7al\u0131\u015fan, y\u00fcksek RAM ve disk IOPS t\u00fcketen s\u00fcre\u00e7lerdir. Payla\u015f\u0131ml\u0131 hosting ortamlar\u0131nda:<\/p>\n<ul>\n<li>Genelde kendi Elasticsearch\/OpenSearch s\u00fcrecinizi \u00e7al\u0131\u015ft\u0131rman\u0131za izin verilmez.<\/li>\n<li>CPU, RAM ve disk I\/O limitleri s\u0131k\u0131d\u0131r, yo\u011fun kampanyalarda arama performans\u0131 d\u00fc\u015fer.<\/li>\n<li>Geli\u015fmi\u015f network ve g\u00fcvenlik yap\u0131land\u0131rmalar\u0131n\u0131 esnek y\u00f6netemezsiniz.<\/li>\n<\/ul>\n<p>Bu nedenle b\u00fcy\u00fck katalog ve marketplace sitelerinde ciddi arama altyap\u0131s\u0131 konu\u015fmaya ba\u015flad\u0131\u011f\u0131m\u0131z anda, pratikte se\u00e7enekler <strong>VPS, dedicated sunucu veya colocation<\/strong> taraf\u0131na kayar.<\/p>\n<h3><span id=\"VPS_ne_zaman_dogru_secim\">VPS ne zaman do\u011fru se\u00e7im?<\/span><\/h3>\n<p>VPS (sanal sunucu), b\u00fcy\u00fck katalog ve marketplace projelerinin \u00e7ok b\u00fcy\u00fck k\u0131sm\u0131 i\u00e7in ideal ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Neden?<\/p>\n<ul>\n<li>\u0130lk a\u015famada 1\u20133 VPS ile uygulama + veritaban\u0131 + arama katmanlar\u0131n\u0131z\u0131 esnek \u015fekilde ay\u0131rabilirsiniz.<\/li>\n<li>Dikey \u00f6l\u00e7ekleme ile CPU\/RAM artt\u0131rmak nispeten h\u0131zl\u0131 ve kolayd\u0131r.<\/li>\n<li>NVMe disk gibi performans bile\u015fenlerini uygun maliyetle kullanabilirsiniz.<\/li>\n<\/ul>\n<p>DCHost taraf\u0131nda, \u00f6zellikle Elasticsearch\/OpenSearch i\u00e7in y\u00fcksek IOPS ve d\u00fc\u015f\u00fck gecikmeli disk ihtiyac\u0131 olan m\u00fc\u015fterilerde NVMe VPS\u2019ler olduk\u00e7a yayg\u0131n. E\u011fer &#8220;hangi disk tipinin arama performans\u0131na etkisi ne olur&#8221; sorusu akl\u0131n\u0131z\u0131 kurcal\u0131yorsa, tekrar hat\u0131rlatay\u0131m: <a href='https:\/\/www.dchost.com\/blog\/nvme-vps-hosting-rehberi-hizin-nereden-geldigini-nasil-olculdugunu-ve-gercek-sonuclari-beraber-gorelim\/'>NVMe VPS hosting rehberindeki test ve \u00f6rnekler<\/a> bu konuda olduk\u00e7a net bir resim \u00e7iziyor.<\/p>\n<h3><span id=\"Dedicated_ve_colocation_ne_zaman_gundeme_gelir\">Dedicated ve colocation ne zaman g\u00fcndeme gelir?<\/span><\/h3>\n<p>Belli bir \u00f6l\u00e7e\u011fin \u00fcst\u00fcnde VPS yerine fiziksel (dedicated) sunucuya ge\u00e7mek daha mant\u0131kl\u0131 hale gelir. \u00d6zellikle:<\/p>\n<ul>\n<li>Node ba\u015f\u0131na 64 GB+ RAM ve 8\u201316 ger\u00e7ek (fiziksel) \u00e7ekirdek ihtiyac\u0131 varsa.<\/li>\n<li>1\u20132 TB NVMe disk alan\u0131n\u0131 sadece arama index\u2019leri i\u00e7in kullanmak istiyorsan\u0131z.<\/li>\n<li>A\u011f taraf\u0131nda \u00f6zel routing, VLAN, firewall veya geli\u015fmi\u015f DDoS korumas\u0131 gibi ihtiya\u00e7lar\u0131n\u0131z art\u0131yorsa.<\/li>\n<\/ul>\n<p>Daha da ileri seviyede, kendi donan\u0131m\u0131n\u0131z\u0131 getirip veri merkezinde bar\u0131nd\u0131rmak (colocation) da se\u00e7enekler aras\u0131na girer. Bu durumda Elasticsearch\/OpenSearch k\u00fcmenizi tamamen kendi donan\u0131m\u0131n\u0131z \u00fczerinde, DCHost veri merkezinin enerji, so\u011futma ve network altyap\u0131s\u0131ndan faydalanarak \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h2><span id=\"Izleme_loglama_yedek_ve_felaket_senaryolari\">\u0130zleme, loglama, yedek ve felaket senaryolar\u0131<\/span><\/h2>\n<h3><span id=\"Arama_kumesini_nasil_izlemeniz_gerekir\">Arama k\u00fcmesini nas\u0131l izlemeniz gerekir?<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch k\u00fcmenizin sa\u011fl\u0131\u011f\u0131n\u0131 sadece CPU ve RAM \u00fczerinden okumak yeterli de\u011fildir. \u0130zlemeniz gereken ba\u015fl\u0131ca metrikler:<\/p>\n<ul>\n<li>Heap kullan\u0131m oran\u0131 ve GC (Garbage Collection) s\u00fcreleri.<\/li>\n<li>Disk doluluk oran\u0131 ve I\/O gecikmesi.<\/li>\n<li>Shard say\u0131s\u0131, relocating\/initializing shard\u2019lar.<\/li>\n<li>Arama ve index iste\u011fi gecikme s\u00fcreleri (latency).<\/li>\n<\/ul>\n<p>Bu metrikleri Prometheus, Grafana gibi ara\u00e7larla toplay\u0131p grafikle\u015ftirmek ve e\u015fik de\u011ferler a\u015f\u0131ld\u0131\u011f\u0131nda alarm \u00fcretmek uzun vadede hayat kurtar\u0131r. Ayn\u0131 yakla\u015f\u0131m\u0131 zaten VPS izleme taraf\u0131nda da kullanman\u0131z\u0131 \u00f6neriyoruz; detayl\u0131 bir ba\u015flang\u0131\u00e7 noktas\u0131 ar\u0131yorsan\u0131z, DCHost blogunda yer alan izleme ve alarm kurulum rehberlerimiz size yol g\u00f6sterecektir.<\/p>\n<h3><span id=\"Yedekleme_ve_felaket_kurtarma\">Yedekleme ve felaket kurtarma<\/span><\/h3>\n<p>Elasticsearch\/OpenSearch verisi genelde &#8220;yeniden olu\u015fturulabilir&#8221; kabul edilir; \u00e7\u00fcnk\u00fc as\u0131l kayna\u011f\u0131n\u0131z veritaban\u0131n\u0131zd\u0131r. Yine de \u015fu pratikleri atlamamak gerekir:<\/p>\n<ul>\n<li>Kritik index ve ayarlar\u0131 (template, ILM policy, role, user vb.) d\u00fczenli olarak snapshot almak.<\/li>\n<li>Snapshot\u2019lar\u0131 ayr\u0131 bir depolama alan\u0131nda veya farkl\u0131 bir b\u00f6lgedeki sunucuda saklamak.<\/li>\n<li>Felaket senaryosunda index yeniden kurulum s\u00fcresini (RTO) ve veri kayb\u0131 tolerans\u0131n\u0131z\u0131 (RPO) \u00f6nceden test etmek.<\/li>\n<\/ul>\n<p>Daha geni\u015f perspektiften bakmak isterseniz, \u00f6zellikle veritaban\u0131 taraf\u0131ndaki yedekleme stratejileri i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/mysql-mariadb-yedekleme-stratejileri-mysqldump-mi-xtrabackup-mi-ve-point%e2%80%91in%e2%80%91time-recovery-ne-zaman\/'>MySQL\/MariaDB yedekleme stratejileri<\/a> yaz\u0131m\u0131z\u0131 inceleyebilir, oradaki RTO\/RPO mant\u0131\u011f\u0131n\u0131 arama altyap\u0131n\u0131za da uyarlayabilirsiniz.<\/p>\n<h2><span id=\"Performans_testleri_kapasite_tahmini_ve_iteratif_olcekleme\">Performans testleri, kapasite tahmini ve iteratif \u00f6l\u00e7ekleme<\/span><\/h2>\n<h3><span id=\"Canliya_cikmadan_once_mutlaka_sentetik_test_yapin\">Canl\u0131ya \u00e7\u0131kmadan \u00f6nce mutlaka sentetik test yap\u0131n<\/span><\/h3>\n<p>B\u00fcy\u00fck katalog ve marketplace projelerinde en b\u00fcy\u00fck hata, arama k\u00fcmesini do\u011frudan canl\u0131 trafi\u011fin insaf\u0131na b\u0131rakmakt\u0131r. Bunun yerine \u015fu ad\u0131mlar\u0131 \u00f6neriyoruz:<\/p>\n<ul>\n<li>\u00dcretime yak\u0131n bir staging ortam\u0131nda (ayn\u0131 index boyutu ve mapping ile) test k\u00fcmesi kurun.<\/li>\n<li>Ger\u00e7ek kullan\u0131c\u0131 sorgular\u0131na benzeyen bir sorgu listesi \u00e7\u0131kar\u0131n.<\/li>\n<li>Bu sorgular\u0131 y\u00fck test ara\u00e7lar\u0131 ile (\u00f6rne\u011fin saniyede 50\u2013100 istek) k\u00fcmenize ate\u015fleyin.<\/li>\n<li>Heap, GC, I\/O, latency metriklerini inceleyin ve dar bo\u011fazlar\u0131 belirleyin.<\/li>\n<\/ul>\n<p>Ard\u0131ndan, gerekiyorsa shard say\u0131s\u0131n\u0131, replika say\u0131s\u0131n\u0131, heap boyutunu veya VPS kaynaklar\u0131n\u0131 artt\u0131rarak yeniden test edin. Bu iteratif s\u00fcre\u00e7, &#8220;kervan yolda d\u00fcz\u00fcl\u00fcr&#8221; yerine <strong>&#8220;kervan\u0131 d\u00fczeltip \u00f6yle yola \u00e7\u0131kma&#8221;<\/strong> f\u0131rsat\u0131 verir.<\/p>\n<h3><span id=\"Kapasite_tahmini_icin_pratik_bir_yaklasim\">Kapasite tahmini i\u00e7in pratik bir yakla\u015f\u0131m<\/span><\/h3>\n<p>Elinizde ge\u00e7mi\u015f trafik verisi yoksa, kabaca \u015fu hesab\u0131 yapabilirsiniz:<\/p>\n<ul>\n<li>Sayfa g\u00f6r\u00fcnt\u00fclemenin %30\u201350\u2019si arama + filtreli kategori sayfalar\u0131ndan gelir.<\/li>\n<li>E\u015fzamanl\u0131 kullan\u0131c\u0131 say\u0131s\u0131n\u0131 tahmin edin (\u00f6rne\u011fin kampanyada 500 e\u015fzamanl\u0131 kullan\u0131c\u0131).<\/li>\n<li>Bunlar\u0131n yar\u0131s\u0131n\u0131n ayn\u0131 anda arama yapt\u0131\u011f\u0131n\u0131 varsay\u0131n (250 aktif arama kullan\u0131c\u0131s\u0131).<\/li>\n<li>Her kullan\u0131c\u0131n\u0131n 3 saniyede bir yeni sorgu yapt\u0131\u011f\u0131n\u0131 kabul edin.<\/li>\n<\/ul>\n<p>Bu durumda saniyede ortalama ~80\u201390 sorgu gibi bir de\u011fere ula\u015f\u0131rs\u0131n\u0131z. Elasticsearch\/OpenSearch k\u00fcmenizi, bu y\u00fck\u00fc kald\u0131rabilecek \u015fekilde planlay\u0131p bir miktar da g\u00fcvenlik pay\u0131 b\u0131rak\u0131rsan\u0131z, hem normal g\u00fcnlerde hem kampanyalarda rahat edersiniz.<\/p>\n<h2><span id=\"Ozet_ve_yol_haritasi_DCHost_altyapisinda_arama_kumenizi_nasil_konumlandirabilirsiniz\">\u00d6zet ve yol haritas\u0131: DCHost altyap\u0131s\u0131nda arama k\u00fcmenizi nas\u0131l konumland\u0131rabilirsiniz?<\/span><\/h2>\n<p>B\u00fcy\u00fck katalog ve marketplace projelerinde g\u00fc\u00e7l\u00fc bir arama deneyimi sunmak i\u00e7in Elasticsearch\/OpenSearch kullanmak art\u0131k neredeyse standart. As\u0131l fark\u0131 yaratan, bu altyap\u0131n\u0131n <strong>do\u011fru VPS\/dedicated mimaride<\/strong> ve <strong>do\u011fru boyutland\u0131rma<\/strong> ile kurulmas\u0131. Tek node\u2019lu basit bir kurulumla ba\u015flay\u0131p, \u00fcr\u00fcn say\u0131n\u0131z ve trafi\u011finiz artt\u0131k\u00e7a 3 node\u2019lu bir k\u00fcmeye, oradan da daha geli\u015fmi\u015f hot\/warm yap\u0131lar\u0131na ge\u00e7mek m\u00fcmk\u00fcn.<\/p>\n<p>Planlama yaparken \u015fu ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<ul>\n<li>\u00dcr\u00fcn say\u0131n\u0131z\u0131, beklenen trafi\u011fi ve SLA beklentilerinizi netle\u015ftirin.<\/li>\n<li>Uygulama, veritaban\u0131 ve arama katman\u0131n\u0131 birlikte ele al\u0131n; sadece aramaya odaklan\u0131p di\u011ferlerini ihmal etmeyin.<\/li>\n<li>Elasticsearch\/OpenSearch i\u00e7in CPU, RAM, NVMe disk ve IOPS ihtiyac\u0131n\u0131 kabaca hesaplay\u0131n.<\/li>\n<li>\u00d6nce staging ortam\u0131nda test edin, sonra canl\u0131ya al\u0131n; gerekiyorsa dikey\/yatay \u00f6l\u00e7ekleyin.<\/li>\n<\/ul>\n<p>DCHost olarak, ister NVMe VPS, ister dedicated, ister colocation taraf\u0131nda olun; b\u00fcy\u00fck katalog ve marketplace projelerinizde arama k\u00fcmenizi konumland\u0131r\u0131rken bu yaz\u0131daki prensipleri referans alabilirsiniz. Mevcut sitenizi payla\u015f\u0131ml\u0131 hosting\u2019ten VPS\u2019e ta\u015f\u0131mak veya halihaz\u0131rdaki VPS\u2019inizi arama odakl\u0131 bir mimariye d\u00f6n\u00fc\u015ft\u00fcrmek istiyorsan\u0131z, blogumuzdaki <a href='https:\/\/www.dchost.com\/blog\/paylasimli-hostingden-vpse-nasil-gecersin-kesintisiz-tasima-icin-sicacik-bir-kontrol-listesi\/'>payla\u015f\u0131ml\u0131 hosting\u2019ten VPS\u2019e ge\u00e7i\u015f kontrol listesine<\/a> de mutlaka g\u00f6z at\u0131n. Sonras\u0131nda, kendi i\u015f y\u00fck\u00fcn\u00fcz\u00fc ve arama gereksinimlerinizi birlikte de\u011ferlendirip hem performansl\u0131 hem de maliyetini kontrol edebildi\u011finiz bir altyap\u0131 kurmak m\u00fcmk\u00fcn.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 B\u00fcy\u00fck katalog ve marketplace aramas\u0131nda as\u0131l sorun ne?2 Klasik veritaban\u0131 aramas\u0131n\u0131n s\u0131n\u0131rlar\u0131 ve neden Elasticsearch\/OpenSearch?2.1 LIKE ile arama yaparken duvara toslad\u0131\u011f\u0131n\u0131z an2.2 Elasticsearch\/OpenSearch neyi farkl\u0131 yapar?3 B\u00fcy\u00fck katalog ve marketplace arama mimarisini nas\u0131l kurgulamal\u0131?3.1 Temel bile\u015fenler: Uygulama, veritaban\u0131 ve arama k\u00fcmesi3.2 Tek node mu, \u00e7ok node\u2019lu k\u00fcme mi?4 VPS kaynak planlama: CPU, RAM, disk [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2731,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-2730","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\/2730","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=2730"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2730\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/2731"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=2730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=2730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=2730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}