Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. .NET (Core and Framework)
  4. Good GC configuration for Web services

Good GC configuration for Web services

Scheduled Pinned Locked Moved .NET (Core and Framework)
wcfperformancecsharpdotnetxml
3 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    Pingala
    wrote on last edited by
    #1

    We have a web service developed based on .net framework 4.0 and runs on Windows 2008 x64. The purpose of the web service is to emulate data abstraction layer communicating to the backend/downstream applications such as databases, external soap services, FTP, etc. Upstream .net apps will consume the services from this web service. Though the application is compiled for x64 code, we are hitting the memory wall @ 2GB and it becomes sluggish with falling response times for upstream apps (resulting in timeouts at peak loads). We also see '% time in GC' is more than 50%. We have 8 GB RAM and 4 CPUs. I am feeling that 2GB limit is holding it for better performance. What am I missing? What are the configuration parameters that are to be tuned for better throughputs? Thanks for any advise. Pingala

    D C 2 Replies Last reply
    0
    • P Pingala

      We have a web service developed based on .net framework 4.0 and runs on Windows 2008 x64. The purpose of the web service is to emulate data abstraction layer communicating to the backend/downstream applications such as databases, external soap services, FTP, etc. Upstream .net apps will consume the services from this web service. Though the application is compiled for x64 code, we are hitting the memory wall @ 2GB and it becomes sluggish with falling response times for upstream apps (resulting in timeouts at peak loads). We also see '% time in GC' is more than 50%. We have 8 GB RAM and 4 CPUs. I am feeling that 2GB limit is holding it for better performance. What am I missing? What are the configuration parameters that are to be tuned for better throughputs? Thanks for any advise. Pingala

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #2

      There are no configuration parameters to tune. The Garbage Collector is self tuning. What is more probable is that your code is leaking resources somewhere. Rule of thumb is that if you create an instance of some class that implements IDisposable, make sure you call it when you don't need the object any more.

      A guide to posting questions on CodeProject[^]
      Dave Kreskowiak

      1 Reply Last reply
      0
      • P Pingala

        We have a web service developed based on .net framework 4.0 and runs on Windows 2008 x64. The purpose of the web service is to emulate data abstraction layer communicating to the backend/downstream applications such as databases, external soap services, FTP, etc. Upstream .net apps will consume the services from this web service. Though the application is compiled for x64 code, we are hitting the memory wall @ 2GB and it becomes sluggish with falling response times for upstream apps (resulting in timeouts at peak loads). We also see '% time in GC' is more than 50%. We have 8 GB RAM and 4 CPUs. I am feeling that 2GB limit is holding it for better performance. What am I missing? What are the configuration parameters that are to be tuned for better throughputs? Thanks for any advise. Pingala

        C Offline
        C Offline
        CoderPanda
        wrote on last edited by
        #3

        This sounds like a performance issue due to memory leak and that means the possibilities are many. I would suggest start by taking a memory dump and analyze it. Frankly, one can write 100s of possible things to check. Such as Parse IIS Logs and see which screens and hence which services are most used at peak time load. [Use log parser for this] Parse IIS Logs and see which screens and hence which services have high response times at peak time load. Any increase in specific errors logged in event viewer on the service layer that are unusually high in number at peak times? Any 3rd party interfaces causing slowness causing requests piling up at your end causing high memory usage? I am assuming you have ruled out any hardware issue already - such as high CPU usage causing gradual memory spike network congestion causing memory spike as requests pile up DB connectivity and/or performance is good enough not to cause resources waiting on your end to cause memory spike Hope it helps.

        Braj http://coderpanda.blogspot.in http://pandaxp.wordpress.com [If you find the articles or solutions useful then please up-vote or recommend them to encourage participation]

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups