{"id":8656,"date":"2011-01-14T23:25:00","date_gmt":"2011-01-14T21:25:00","guid":{"rendered":"https:\/\/fatihboy.com\/post\/wcf-hizmeti-performans-ayarlari"},"modified":"2011-01-14T23:25:00","modified_gmt":"2011-01-14T21:25:00","slug":"wcf-hizmeti-performans-ayarlari","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/","title":{"rendered":"WCF Hizmeti Performans Ayarlar\u0131"},"content":{"rendered":"<p>&nbsp;&nbsp;&nbsp; WCF serisi makalelerimde \u015fimdiye kadar sizlerle sunucu hizmetinin ve bu hizmeti kullanacak bir istemcinin nas\u0131l olu\u015fturabilece\u011finizi payla\u015fm\u0131\u015f, bir WCF hizmetinde <a href=\"\/en\/?p=8587\">\u00f6rnek y\u00f6netiminin<\/a> nas\u0131l yap\u0131labilece\u011fini ve e\u015fzamanl\u0131 veri g\u00f6nderen bir <a href=\"\/en\/?p=8515\">istemcinin performans\u0131n\u0131n nas\u0131l artt\u0131r\u0131labilece\u011fini<\/a> payla\u015fm\u0131\u015ft\u0131m. Bu makalemde ise WCF hizmetimizi mercek alt\u0131na alarak performans\u0131n\u0131\/throughput&#8217;unu nas\u0131l artt\u0131rabilece\u011fimizi g\u00f6rece\u011fiz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Sunucu kaynaklar\u0131n\u0131n etkin kullan\u0131m\u0131n\u0131 sa\u011flamak ad\u0131na WCF hizmetleri varsay\u0131lan olarak 16 iste\u011fi\/mesaj\u0131 e\u015fzamanl\u0131 i\u015fleyecek \u015fekilde tasarlanm\u0131\u015ft\u0131r. Bu durum, WCF hizmetinin bu de\u011ferin \u00fczerinde gelen istekleri geri \u00e7evirece\u011fi anlam\u0131na gelmemekle birlikte bu de\u011ferin \u00fczerindeki istekler hemen i\u015flenmek yerine bir s\u0131rada bekletileceklerdir. Bu sayede uygulama sunucu kaynaklar\u0131n\u0131 a\u015f\u0131r\u0131 t\u00fcketerek sistemi tamamen yan\u0131t veremez duruma d\u00fc\u015f\u00fcrmezken, gelen istekleri de en uygun \u015fekilde i\u015fleyebilecektir. Bu yap\u0131land\u0131rma ayn\u0131 zamanda da sisteme a\u015f\u0131r\u0131 istek g\u00f6ndererek yan\u0131t veremez duruma d\u00fc\u015f\u00fcr\u00fclmeye \u00e7al\u0131\u015f\u0131lan Denial of Service Error, <strong>DoS<\/strong> sald\u0131r\u0131lar\u0131na kar\u015f\u0131 sisteminizin korunmas\u0131n\u0131 da sa\u011flayacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; WCF hizmetinin ne kadar geni\u015f bir yelpazedeki donan\u0131mlara sahip sunucularda \u00e7al\u0131\u015fabilece\u011fi d\u00fc\u015f\u00fcn\u00fclecek olursa varsay\u0131lan 16 iste\u011fi e\u015fzamanl\u0131 i\u015flemek kimi sunucularda sistem kaynaklar\u0131n\u0131n verimli kullan\u0131m\u0131na engel olacakt\u0131r. \u0130yi bir donan\u0131m ve a\u011f altyap\u0131s\u0131 olan sistemlerde yeterli kaynak olmas\u0131na kar\u015f\u0131n istemciler\/son kullan\u0131c\u0131lar s\u00fcrekli bir yava\u015fl\u0131ktan, hatta zaman a\u015f\u0131m\u0131ndan \u015fikayet ediyor olabilir. HTTP \u00fczerinden sunulan WCF hizmetlerinde, asenkron bir yap\u0131ya sahip olan web servis \u00e7a\u011fr\u0131lar\u0131nda istemciler varsay\u0131lan olarak 60 saniye i\u00e7erisinde g\u00f6nderdikleri isteklere yan\u0131t alamamalar\u0131 durumunda istek kanal\u0131n\u0131n kapatarak kullan\u0131c\u0131ya zaman a\u015f\u0131m hatas\u0131 (<em>TimeoutException<\/em>) d\u00f6nmektedirler. Bu durumda a\u015f\u0131r\u0131 istek geldi\u011fi durumlarda s\u0131raya al\u0131nan istek say\u0131lar\u0131 da h\u0131zla artarak yan\u0131t verme s\u00fcresini \u00f6nemli oranda d\u00fc\u015f\u00fcrecek, s\u0131raya al\u0131nan istekler i\u015flenip yan\u0131t d\u00f6nmeye f\u0131rsat bulamadan istemciler ba\u011flant\u0131lar\u0131 kapatarak zaman a\u015f\u0131m hatas\u0131 olu\u015fturacaklard\u0131r. \u0130\u015fin daha da k\u00f6t\u00fc yan\u0131; sistem tamamen asenkron i\u015flemesi nedeniyle istemcinin ba\u011flant\u0131y\u0131 kapatmas\u0131 s\u00fcreci sunucu taraf\u0131nda sonland\u0131\u011f\u0131 anlam\u0131na gelmeyece\u011finden veri tutars\u0131zl\u0131klar\u0131 olu\u015facakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131daki gibi bir senaryoda WCF hizmetinin performans ayarlar\u0131na m\u00fcdahale ederek sistemimize ve i\u015f mant\u0131\u011f\u0131m\u0131za en uygun yap\u0131land\u0131rmay\u0131 ger\u00e7ekle\u015ftirmeliyiz. WCF hizmetlerinin performans\u0131\/throughput&#8217;u a\u015fa\u011f\u0131da yer alan \u00fc\u00e7 noktaya m\u00fcdahale edilerek d\u00fczenlenebilmektedir;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> <strong>Maksimum e\u015fzamanl\u0131 oturum say\u0131s\u0131 (maxConcurrentSessions)<\/strong> : Transport seviyesinde (TCP, IPC v.b.) desteklenen maksimum oturum say\u0131s\u0131d\u0131r. Framework 3.0\/3.5sp1&#8217;de varsay\u0131lan olarak 10, framework 4&#8217;te ise (100 * i\u015flemci say\u0131s\u0131) de\u011feri ile tan\u0131mlanm\u0131\u015ft\u0131r. BasicHttpBinding gibi oturumun desteklenmedi\u011fi binding&#8217;lerde bu de\u011feri hi\u00e7 bir etkisi olmayacakt\u0131r. <\/li><li> <strong>Maksimum e\u015fzamanl\u0131 \u00e7a\u011fr\u0131 say\u0131s\u0131 (maxConcurrentCalls)<\/strong> : T\u00fcm hizmet \u00f6rneklerinin toplamda kabul edece\u011fi\/i\u015fleyece\u011fi maksimum e\u015fzamanl\u0131 \u00e7a\u011fr\u0131 say\u0131s\u0131d\u0131r. Framework 3.0\/3.5sp1&#8217;de varsay\u0131lan olarak 16, framework 4&#8217;te ise (16 * i\u015flemci say\u0131s\u0131) de\u011feri ile tan\u0131mlanm\u0131\u015ft\u0131r. Bu de\u011ferin \u00fczerindeki \u00e7a\u011fr\u0131lar s\u0131raya al\u0131narak bekletileceklerdir. Bu de\u011feri y\u00fckselterek e\u015fzamanl\u0131 olarak i\u015fleyebilece\u011finiz \u00e7a\u011fr\u0131lar\u0131\/mesajlar\u0131 artt\u0131rabilirsiniz. Mesaj i\u015flemenin \u00f6nemli i\u015flemci ve\/veya haf\u0131za kayna\u011f\u0131 t\u00fcketti\u011fi sistemlerde gelen mesajlar\u0131n sisteminizde olu\u015fturdu\u011fu y\u00fck ve sunucu yap\u0131land\u0131rmas\u0131 g\u00f6z \u00f6n\u00fcne al\u0131narak de\u011fi\u015ftirilmesi do\u011fru olacakt\u0131r. <\/li><li> <strong>Maksimum e\u015fzamanl\u0131 \u00f6rnek say\u0131s\u0131 (maxConcurrentInstances)<\/strong> : Hizmet i\u00e7erisinde bulunabilecek maksimum InstanceContext nesne say\u0131s\u0131d\u0131r. Varsay\u0131lan olarak s\u0131n\u0131rs\u0131z (ger\u00e7ekte ise bu de\u011ferin bir tam say\u0131 olmas\u0131 nedeniyle Int32.Max) de\u011feri ile tan\u0131mlanm\u0131\u015ft\u0131r. <\/li><\/ul>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131da sizinle payla\u015ft\u0131\u011f\u0131m de\u011ferler ile bir WCF hizmetinin performans\u0131n\u0131\/throughput&#8217;unu de\u011fi\u015ftirmek, hizmet kodundan geli\u015ftirmekten tamamen ayr\u0131 bir s\u00fcre\u00e7tir. Sunucudan sunucuya de\u011fi\u015fkenlik g\u00f6sterebilen bu de\u011ferler ger\u00e7ek hayatta yaz\u0131l\u0131m ekibinden ziyade deployment ekibince y\u00f6netilmelidir. Bu sebeple bu de\u011ferler hizmet \u00fczerine yerle\u015ftirilen bir \u00f6znitelikle yap\u0131lamamaktad\u0131r\/yap\u0131lmamal\u0131d\u0131r (<em>her ne kadar yap\u0131lmas\u0131 m\u00fcmk\u00fcn olsa bile..<\/em>). Bu konudaki genel yakla\u015f\u0131m yap\u0131land\u0131rma dosyas\u0131 i\u00e7erisinde hizmet tan\u0131mlamas\u0131 yap\u0131l\u0131rken belirtilmesi y\u00f6n\u00fcndedir. Baz\u0131 istisnai senaryolarda bu i\u015flemin kod i\u00e7erisinden de yap\u0131lmas\u0131 gerekebilece\u011fini g\u00f6z \u00f6n\u00fcne alarak her iki y\u00f6ntemi de sizlerle payla\u015f\u0131yor olaca\u011f\u0131m.<\/p>\n\n\n\n<p>&nbsp;&nbsp; \u00d6ncelikle bu de\u011ferleri yap\u0131land\u0131rma dosyas\u0131 i\u00e7erisinde nas\u0131l ayarlayabilece\u011fimizi birlikte g\u00f6relim. \u00d6rnek olarak <a href=\"\/en\/?p=8503\">WCF&#8217;e Giri\u015f<\/a> makalemde sizlerle payla\u015ft\u0131\u011f\u0131m \u00f6rnek hizmet ve yap\u0131land\u0131rma \u00fczerinden gidiyor olaca\u011f\u0131m. Hizmet performans\u0131n\u0131n yap\u0131land\u0131rma dosyas\u0131 i\u00e7erisinde ayarlanabilmesi i\u00e7in bize <strong>serviceThrottling<\/strong> yap\u0131land\u0131rma elementi sunulmu\u015ftur. Servisimizin davran\u0131\u015flar\u0131n\u0131 tan\u0131mlad\u0131\u011f\u0131m\u0131z <em>behaviors -&gt; serviceBehaviors<\/em> d\u00fc\u011f\u00fcm\u00fc alt\u0131ndaki ilgili <em>behavior<\/em> d\u00fc\u011f\u00fcm\u00fc i\u00e7erisine a\u015fa\u011f\u0131daki gibi bu elementi ekleyebilir, element i\u00e7erisindeki maxConcurrentCalls, maxConcurrentInstances ve maxConcurrentSessions de\u011ferleri ile i\u015f mant\u0131\u011f\u0131m\u0131z do\u011frultusunda oynayabiliriz:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"31-34\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?>\n&lt;configuration>\n  &lt;system.serviceModel>\n    &lt;services>\n      &lt;service\n        name=\"Com.Enterprisecoding.WCF.Ornek.OrnekHizmet\"\n        behaviorConfiguration=\"metaVeriDestegi\"\n      >\n        &lt;host>\n          &lt;baseAddresses>\n            &lt;add baseAddress=\"http:\/\/localhost:1234\/WCFOrnekleri\" \/>\n          &lt;\/baseAddresses>\n        &lt;\/host>\n        &lt;endpoint\n          address=\"OrnekHizmet\"\n          binding=\"wsHttpBinding\"\n          contract=\"Com.Enterprisecoding.WCF.Ornek.IOrnekHizmet\"\n        \/>\n        &lt;endpoint\n           address=\"mex\"\n           binding=\"mexHttpBinding\"\n           contract=\"IMetadataExchange\"\n        \/>\n      &lt;\/service>\n    &lt;\/services>\n  \n    &lt;behaviors>\n      &lt;serviceBehaviors>\n        &lt;behavior name=\"metaVeriDestegi\">\n          &lt;serviceMetadata httpGetEnabled=\"true\"  httpGetUrl=\"\"\/>\n  &lt;serviceThrottling\n                    maxConcurrentCalls=\"16\"\n                    maxConcurrentInstances=\"2147483647\"\n                    maxConcurrentSessions=\"10\"\/>\n        &lt;\/behavior>\n      &lt;\/serviceBehaviors>\n    &lt;\/behaviors>\n  &lt;\/system.serviceModel>\n&lt;\/configuration><\/pre>\n\n\n\n<p>&nbsp;&nbsp; \u00d6rne\u011fimizin 31. ve 34. sat\u0131rlar\u0131 aras\u0131nda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi hizmetimizin performans de\u011ferlerini de\u011fi\u015ftirmek olduk\u00e7a kolay.&nbsp; Her ne kadar \u00f6rne\u011fimizde her \u00fc\u00e7 de\u011fer i\u00e7inde birer girdi eklemi\u015f olsakta, ger\u00e7ek hayatta sadece de\u011fi\u015ftirmek istedi\u011finiz de\u011fer i\u00e7in bir girdi eklemeniz yeterli olacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Ayn\u0131 yap\u0131land\u0131rma dosyas\u0131ndan performans ayarlar\u0131 yapmakta oldu\u011fu gibi kod i\u00e7erisinden performans ayar\u0131 yapmak olduk\u00e7a kolayd\u0131r. <a href=\"\/en\/?p=8511\">Programsal Olarak WCF Hizmeti Olu\u015fturma<\/a> makalemde sizlerle payla\u015fm\u0131\u015f oldu\u011fum kodlar \u00fczerinden gidecek olursak; hizmet sunucumuza ekledi\u011fimiz hizmetMetaVeriDavranisi&#8217;m\u0131zdan hemen ard\u0131ndan ServiceThrottlingBehavior s\u0131n\u0131f\u0131 vas\u0131tas\u0131yla performans davran\u0131\u015f\u0131m\u0131z\u0131 ekleyebiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"12-18\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Console.WriteLine(\"Hizmet sunucusu haz\u0131rlan\u0131yor...\");\nUri hizmetTemelAdresi = new Uri(\"http:\/\/localhost:1234\/WCFOrnekleri\");\n\nServiceHost hizmetSunucusu = new ServiceHost(typeof(OrnekHizmet), hizmetTemelAdresi);\n\ntry {\n    hizmetSunucusu.AddServiceEndpoint(typeof(IOrnekHizmet), new WSHttpBinding(), \"OrnekHizmet\");\n\n    ServiceMetadataBehavior hizmetMetaVeriDavranisi = new ServiceMetadataBehavior { HttpGetEnabled = true };\n    hizmetSunucusu.Description.Behaviors.Add(hizmetMetaVeriDavranisi);\n\n    var throttlingDavranisi = new ServiceThrottlingBehavior {\nMaxConcurrentCalls = 16,\nMaxConcurrentInstances = Int32.MaxValue,\nMaxConcurrentSessions = 10\n};\n\n    hizmetSunucusu.Description.Behaviors.Add(throttlingDavranisi);\n\n    Console.WriteLine(\"Hizmet sunucusu ba\u015flat\u0131l\u0131yor...\");\n    hizmetSunucusu.Open();\n\n    Console.WriteLine(\"Hizmet sunucusu haz\u0131r\");\n    Console.WriteLine(\"Hizmet sunucusunu sonland\u0131rmak i\u00e7in herhangi bir tu\u015fa bas\u0131n\u0131z\");\n    Console.ReadKey();\n\n    hizmetSunucusu.Close();\n}\ncatch (Exception ex) {\n    Console.WriteLine(\"Hizmet sunucusunda hata olu\u015ftu: {0}\", ex.Message);\n\n    if (hizmetSunucusu.State != CommunicationState.Closed || hizmetSunucusu.State != CommunicationState.Closing) {\n        hizmetSunucusu.Abort();\n    }\n\n    Console.WriteLine(\"Uygulamay\u0131 sonland\u0131rmak i\u00e7in herhangi bir tu\u015fa bas\u0131n\u0131z\");\n    Console.ReadKey();\n}<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131daki kod i\u00e7erisinde 12. ve 18. sat\u0131rlar aras\u0131nda uygulamam\u0131za daha \u00f6nce de yap\u0131land\u0131rma dosyas\u0131nda eklemeyi \u00f6rnekledi\u011fim performans de\u011ferleri verilmekte.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Programsal olarak uygulaman\u0131z\u0131 \u00e7e\u015fitli katmanlara ay\u0131rm\u0131\u015f ve yukar\u0131dakinden farkl\u0131 bir \u015fekilde WCF hizmetinizi par\u00e7alar halinde fonksiyon \u00e7a\u011fr\u0131lar\u0131 ile olu\u015fturuyorsan\u0131z size tavsiyem olas\u0131 bir hatay\u0131 engellemek ad\u0131na \u00f6ncelikle hizmetinize ServiceThrottlingBehavior davran\u0131\u015f\u0131n\u0131z\u0131n eklenip eklenmedi\u011fini kontrol etmeniz. Bunun i\u00e7in&nbsp; \u00f6ncelikle hizmetinizde yer alan davran\u0131\u015flar i\u00e7erisinde ServiceThrottlingBehavior davran\u0131\u015f\u0131n\u0131n bulunup bulunmad\u0131\u011f\u0131n\u0131 sorgulamal\u0131, varsa de\u011ferlerini g\u00fcncellemeli, yoksa yeni de\u011ferlerle bir tane olu\u015fturarak eklemelisiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var throttlingDavranisi = hizmetSunucusu.Description.Behaviors.Find&lt;ServiceThrottlingBehavior>();\n \nif (throttlingDavranisi == null) {\nthrottlingDavranisi = new ServiceThrottlingBehavior();\n}\nelse {\nhizmetSunucusu.Description.Behaviors.Remove(throttlingDavranisi);\n}\n \nthrottlingDavranisi.MaxConcurrentCalls = 16;\nthrottlingDavranisi.MaxConcurrentInstances = Int32.MaxValue;\nthrottlingDavranisi.MaxConcurrentSessions = 10;\n \nhizmetSunucusu.Description.Behaviors.Add(throttlingDavranisi);<\/pre>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp;&nbsp; WCF serisi makalelerimde \u015fimdiye kadar sizlerle sunucu hizmetinin ve bu hizmeti kullanacak bir istemcinin nas\u0131l olu\u015fturabilece\u011finizi payla\u015fm\u0131\u015f, bir WCF hizmetinde \u00f6rnek y\u00f6netiminin nas\u0131l yap\u0131labilece\u011fini ve e\u015fzamanl\u0131 veri g\u00f6nderen bir istemcinin performans\u0131n\u0131n nas\u0131l artt\u0131r\u0131labilece\u011fini payla\u015fm\u0131\u015ft\u0131m. Bu makalemde ise WCF hizmetimizi mercek alt\u0131na alarak performans\u0131n\u0131\/throughput&#8217;unu nas\u0131l artt\u0131rabilece\u011fimizi g\u00f6rece\u011fiz. &nbsp;&nbsp; Sunucu kaynaklar\u0131n\u0131n etkin kullan\u0131m\u0131n\u0131 sa\u011flamak ad\u0131na WCF&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":13055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28,115],"tags":[116],"class_list":["post-8656","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","category-wcf","tag-wcf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy<\/title>\n<meta name=\"description\" content=\"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2011-01-14T21:25:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png\" \/>\n\t<meta property=\"og:image:width\" content=\"939\" \/>\n\t<meta property=\"og:image:height\" content=\"348\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"WCF Hizmeti Performans Ayarlar\u0131\",\"datePublished\":\"2011-01-14T21:25:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/\"},\"wordCount\":1150,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png\",\"keywords\":[\"WCF\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\",\"WCF\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/\",\"url\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/\",\"name\":\"WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png\",\"datePublished\":\"2011-01-14T21:25:00+00:00\",\"description\":\"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png\",\"width\":939,\"height\":348},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WCF Hizmeti Performans Ayarlar\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy","description":"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/","og_locale":"en_US","og_type":"article","og_title":"WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy","og_description":"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.","og_url":"https:\/\/fatihboy.com\/en\/wcf-hizmeti-performans-ayarlari\/","og_site_name":"Fatih Boy","article_published_time":"2011-01-14T21:25:00+00:00","og_image":[{"width":939,"height":348,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png","type":"image\/png"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"WCF Hizmeti Performans Ayarlar\u0131","datePublished":"2011-01-14T21:25:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/"},"wordCount":1150,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png","keywords":["WCF"],"articleSection":["C#","T\u00fcrk\u00e7e","WCF"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/","url":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/","name":"WCF Hizmeti Performans Ayarlar\u0131 - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png","datePublished":"2011-01-14T21:25:00+00:00","description":"Yazd\u0131\u011f\u0131n\u0131z Windows Communication Foundation (WCF) servisinin performans\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in dikkat etmeniz gereken detaylar\u0131 bu makalemde bulabilirsiniz.","breadcrumb":{"@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2015\/12\/speed.png","width":939,"height":348},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/wcf-hizmeti-performans-ayarlari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"WCF Hizmeti Performans Ayarlar\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/8656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=8656"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/8656\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/13055"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=8656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=8656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=8656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}