SQLServer: Puskurin välimuistin osumissuhde on hyvä osoitus MAHDOLLISESTA muistin pullonkaulasta?

Etsin ilmoitusta (jos sellaista on), joka joko jätä huomiotta muistin pullonkaulavaihtoehdon tai hyväksyy sen tai saa minut tutkimaan tarkemmin.

esimerkiksi:

sivun elinajanodote:

SELECT [object_name], [counter_name], [cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE "%Manager%" AND [counter_name] = "Page life expectancy" 

kirjoita kuvakuvaus tähän

Tällä hetkellä minulla on palvelin, jossa on 8 Gt RAM-muistia, pyytäisin nykyisestä ympäristöstäni lisää muistia. Uskon, että tämä on muistin pullonkaula.

RAM-muistin käyttö olisi toinen tutkimus.

Onko tämä alla oleva sähköpostiosoite mahdollisten muistin pullonkaulojen tunnistamiseksi?

meidän on tarkasteltava SQLServer: Puskurin välimuistin osumissuhde

Jos suhde on alle 95% kuin palvelimella on muistipaine

Toivottavasti tämä auttaa,

kirjoita kuvan kuvaus tähän

kommentit

  • Älä perustele muistiasi koskevaa ehdotustasi Buffer Cache hit ratio . Lue Suuri SQL Server -keskustelu BCHR: stä , koska en koskaan luota tähän laskuriin. Voit luottaa PLE: hen, mutta PLE: n on oltava näkyvissä kaikille NUMA-solmuille (jos sinulla on)
  • PLE-arvo näyttää olevan hyvin pienempi, mutta muut laskurit ovat kunnossa. Merkitsit kysymyksen kahdella versiolla, voin antaa sinulle luettelon laskureista muistin käytön seuraamiseksi, mutta koska mukana on 2 versiota, niiden ero on vähän. Mitä versiota tarkalleen katsot

Vastaa

Meidän on tarkasteltava SQLServer: Buffer Cache Hit ratio -suhdetta.Jos suhde on alle 95% kuin palvelimella on muistin paine.

Lopeta puskurin tarkastelu Välimuistin osumissuhde muistin paineen määrittämiseksi. Tämä johtuu siitä, että kun -lukumekanismi on SQL Serverissä, puskurivarastossa on enemmän kuin tarpeeksi sivuja kyselyn tyydyttämiseksi, joten BCHR ei anna tarkkaa kuvaa muistin paineesta. Saatat jopa nähdä, että BCHR ei edes laske, kun muistipaine on olemassa. Kaikki nämä on selitetty kohdassa Suuri SQL-palvelukeskustelu BCHR: stä

Lähettämäsi PLE-tulos näyttää todella alhaiselta, mutta emme voi käyttää vain yhtä laskuria mittaa muistin paine. PLE osoittaa enemmän I / O-toimintaa palvelimella. Voi olla mahdollista, että voimakkaan I / O-aktiivisuuden vuoksi PLE putosi. Jos huomaat, että kohde- ja palvelinmuisti ovat edelleen samat. Mikä on hyvä merkki.

For Edition upto 2008 R2. Voit käyttää alla olevia laskureita

  1. SQLServer: Buffer Manager – CheckpointPages / sec:

  2. SQLServer: Buffer Manager – Memory Grants Odottaa:

  3. SQLServer: Buffer Manager – Kohdepalvelimen muisti:

  4. SQLServer: Buffer Manager – Palvelimen kokonaismuisti

  5. SQLServer: Puskurin hallinta – ilmaiset sivut

  6. SQLServer: Puskurin hallinta – ilmainen luettelo jumissa / s

  7. SQLServer: Puskurin hallinta – Sivun elinajanodote

Muutamille puskurille SQL Server 2012 onwards Allaslaskurit ovat vanhentuneita, joten meidän on käytettävä Memory Manger -laskimia

  1. SQL Server: Memory Manager – Kohdepalvelimen muisti (KB)

  2. SQL Server: Memory Manager – palvelimen kokonaismuisti (KB)

  3. SQL Server: Memory Manager – vapaa muisti (KB)

  4. SQL Server: Memory Manager – tietokannan välimuisti (KB)

  5. SQLServer: Buffer Manager – ilmaiset sivut

  6. SQLServer: Puskurin hallinta – Ilmainen luettelo jumissa / sek

  7. SQLServer: Puskurin hallinta – Sivun elinajanodote

Huomaa, että jos sinulla on paljon levyä, älä unohda viitata myös levyihin liittyviin laskureihin. Luo tiedonkerääjäsarja ja anna sen toimia 4-5 tuntia, kun järjestelmän kuormitus on huipulla, ja lisää sitten tilannekuva tiedonkerääjästä kysymykseesi. Sitten voimme selvittää, tarvitseeko SQL Server enemmän muistia vai ei.

Henkilökohtaisesti 8G on vähän vähemmän RAM-muistia, kun otetaan huomioon nykyinen työtaakka ja käyttöjärjestelmän vaatimukset. Pään kärjessä kannattaa aina miettiä RAM-muistin lisäämistä.

Vastaa

meidän on tarkasteltava SQLServer: Puskurin välimuistin osumissuhde

Jos suhde on alle 95% kuin palvelimella on muistin paine

Toivottavasti tämä auttaa,

Tämä ei auta sinua päättämään varmasti itse pullonkaulasta. Mieluummin haluaisin kerätä tiedot alle laskureista ainakin päiväksi raskaalla kuormalla / työaikana.

Memory – Available MBytes SQLServer: Buffer Manager – Page Life Expectancy SQLServer: Memory Manager – Memory Grants Pending SQLServer: Memory Manager – Target Server Memory SQLServer: Memory Manager – Total Server Memory SQLServer: SQL Statistics – Batch Requests/sec SQLServer: SQL Statistics – Compilations/sec 

Paras olisi SQL-palvelimen lähtötaso, kuten ehdotettiin Palvelimet , jotka keräävät myös vaaditut hälytyslaskurit sekä odotustilastot mahdollisista ongelmista.

Myös 8 Gt: n RAM-muisti ei ehkä ole niin sopiva kuin nykypäivän env, mutta se riippuu jälleen siitä, mikä on järjestelmän kuormitus sekä ilmentymän \ ilmentymät isännöimien tietokantojen koko.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *