Nieuwe server, veel page faults

Pagina: 1
Acties:
  • 530 views sinds 30-01-2008
  • Reageer

  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Sinds een paar maandjes heb ik hier een Acer Altos R710 Server staan. Deze dient als onze primaire mailserver.

Even in het kort de hardware:

Acer Altos R710
1x XEON 3,4Ghz
3GB RAM
LSI 320-2 RAID Controller
5 SCSI 10K Schijven, 2 Logische raidsets

En de software:
Windows 2003 R2 SP1
Exchange 2003 SP2

Sinds dat ik deze server heb vind ik hem in het algemeen nogal "traag" aanvoelen.
Exchange hobbelt vooruit, maar is bij een redelijke belasting (25 heavy users) merkbaar traag.

Een paar weken geleden crashte de machine, en in de eventlog kwam ik Memory ECC errors tegen.
Direct het geheugen vervangen, met de stille hoop dat dit ook de verklaring van de traagheid zou zijn, maar helaas... De crashes/foutmeldingen zijn sindsdien wel verdwenen.

Nu keek ik vandaag in de system monitor-software die bij de machine geleverd word, en zie daar een nogal hoog aantal pagefaults.. :
Afbeeldingslocatie: http://www.marliesdekkers.nl/screenie.jpg

Is dit normaal ? Het geheugen is al eens vervangen.., al zijn het geen origineel Acer bankjes..

Like this yall...


  • Vuurvoske
  • Registratie: Oktober 2003
  • Laatst online: 25-05 18:43

Vuurvoske

Nunquam cede!

wat voor mobo hangt erin? en zoek eens uit of het geheugen wel volledig compatible is met je mobo.

Beroeps brabander


  • ShadowLord
  • Registratie: Juli 2000
  • Laatst online: 26-05 18:37
Een page-fault is niet per defenitie een defect. Als ej er verder geen foutmeldingen bij krijgt zit het wel goed. Page-faults krijg je namelijk ook als Windows data uit het geheugen naar zijn virtueel geheugen heeft geschreven. Bij veel page faults heb je dus wel een performance issue, maar dat komt omdat Windows dus teveel naar de page file (virtueel geheugen) kijkt. Dit gebeurd vooral als je fysieke geheugen vol zit. Check dus eens met de task manager hoe het staat met het geheugengebruik.

Zie ook http://en.wikipedia.org/wiki/Page_fault

You see things; and you say, "Why?" But I dream things that never were; and I say, "Why not?"


  • Viper®
  • Registratie: Februari 2001
  • Niet online
in de taskmanager kun je ook kijken naar Bytes IO written/read.

er zijn ook andere tools om de statussen in de gaten te houden.

In het plaatje te zien lijkt het een periodiek probleem

  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Welk mobo erin zit wordt niet verteld, en hij hangt in een rack dus kan even niet kijken, maar dit zijn de specs: http://www.acer.nl/acereu...=Nederland&crc=3846783412

Bovenstaande grafiek is van een kwartiertje, met een interval van 30 seconden.

Volgens het grafiekje hierboven zou er ruim 1,3GB vrije ram beschikbaar moeten zijn, en de taskmanager onderschrijft dat..

Afbeeldingslocatie: http://www.marliesdekkers.nl/screenie_tm.jpg

Like this yall...


  • Survivor1979
  • Registratie: Februari 2005
  • Laatst online: 29-10-2025
Misschien kan je eens proberen je schrijf en lees performance te meten van de RAID sets. Het zou kunnen zijn, dat er een RAID 5 in je server zit die op Write-through staat ipv op Write-back. Write-back is een instelling die veel gevaarlijker is bij stroomuitval, omdat Windows denkt dat je data is weggeschreven staat op de disk, maar dat in werkelijkheid nog niet zo hoeft te zijn omdat de RAID controller het nog in zijn cache heeft staan. Vaak kan je een aparte batterij kopen bij de RAID controller, die je veilig toestaat om Write-back te gebruiken.

Een heel simpel, maar effectief programma om real-life lees en schrijfperformance te meten is met het gratis programma Diskbench, te downloaden vanaf http://www.nodesoft.com/DiskBench/Default.aspx. Je hebt er wel het .NET Framework 2.0 voor nodig. Er zijn nog heel veel andere goede programma's die je lees en schrijf performance kunnen geven van je disks, maar vaak is dat allemaal syntetisch en dit zou je een goede indicatie kunnen geven of het uberhaupt de oorzaak van het probleem is.

  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Survivor1979 schreef op donderdag 28 september 2006 @ 18:16:
Misschien kan je eens proberen je schrijf en lees performance te meten van de RAID sets. Het zou kunnen zijn, dat er een RAID 5 in je server zit die op Write-through staat ipv op Write-back. Write-back is een instelling die veel gevaarlijker is bij stroomuitval, omdat Windows denkt dat je data is weggeschreven staat op de disk, maar dat in werkelijkheid nog niet zo hoeft te zijn omdat de RAID controller het nog in zijn cache heeft staan. Vaak kan je een aparte batterij kopen bij de RAID controller, die je veilig toestaat om Write-back te gebruiken.

Een heel simpel, maar effectief programma om real-life lees en schrijfperformance te meten is met het gratis programma Diskbench, te downloaden vanaf http://www.nodesoft.com/DiskBench/Default.aspx. Je hebt er wel het .NET Framework 2.0 voor nodig. Er zijn nog heel veel andere goede programma's die je lees en schrijf performance kunnen geven van je disks, maar vaak is dat allemaal syntetisch en dit zou je een goede indicatie kunnen geven of het uberhaupt de oorzaak van het probleem is.
Jep, daar heb je gelijk in. Ik ben ook al veel langer met dit performance issue bezig geweest en ook vertrouw ik de RAID controller niet helemaal. Er zit een LSI 320-2 64Bits SCSI controller in, en reviews op google geven helaas hele wisselende resultaten.

Ik zal de performance straks even testen, en de resultaten hier posten.

Like this yall...


  • maratropa
  • Registratie: Maart 2000
  • Niet online
Volgens mij is dit niet direct een "performance van de array's" probleem maar een geheugenbeheer probleem.

Welk process in de taskmanager veroorzaakt die pagefaults? (vink even "pagefaults" aan in de taskmanager bij "columns")

[ Voor 15% gewijzigd door maratropa op 28-09-2006 18:35 ]

specs


Verwijderd

Ik zie dat het maximale geheugengebruik op 2,1 GB ligt, en dat je een pagefile hebt van 1,5GB, die niet nodig is.

Misschien dat het hieraan kan liggen, en schakel het eens uit..

Deze computer -> Eigenschappen -> Geavanceerd -> Prestaties -> Instellingen -> Geavanceerd -> Virtueel Geheugen -> Wijzigen

  • Survivor1979
  • Registratie: Februari 2005
  • Laatst online: 29-10-2025
Het algemene Microsoft advies is volgens mij om je page file ongeveer 1,5 keer de grote is van je fysieke geheugen is. Persoonlijk zou ik het advies van Flapje333 niet opvolgen; ik zou eerder de page file dus zelfs nog verder vergroten.

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Survivor1979 schreef op donderdag 28 september 2006 @ 20:08:
Het algemene Microsoft advies is volgens mij om je page file ongeveer 1,5 keer de grote is van je fysieke geheugen is.
Ben je blijven hangen in de tijd van Windows 9X/ Me? :X Please, dit zogenaamde advies is al jaren achterhaald. Denk eens logisch na: stel dat je 4GB RAM hebt, zou je dan een ruimteverspillende pagefile van 6GB moeten hebben? De grootte van de pagefile is geheel afhankelijk van jouw behoefte aan de geheugenruimte. Neem liever zoveel geheugen dat een pagefile niet nodig is. Ik heb zelf 2GB in mijn bak steken en een pagefile van 2MB (kleiner kan niet en het uitschakelen vinden sommige programma's niet leuk). Windows vergroot het wel automatisch wanneer de programma's erom vragen en tot dusver is dat nog niet gebeurd en werkt alles uitstekend :)

Maargoed, nu weer ontopic. Dit was slechts een rechtzetting van een groot misverstand ;)

[ Voor 15% gewijzigd door BalusC op 28-09-2006 20:39 ]


  • Survivor1979
  • Registratie: Februari 2005
  • Laatst online: 29-10-2025
OK, wat gelezen op de Microsoft site en je hebt gelijk. Hoe groot de page file moet zijn, hangt af van de behoefte, en kan je zelfs uitrekenen.

Ik quote van de Microsoft site:

"A frequently asked question is how big should I make the pagefile? There is no single answer to this question, because it depends on the amount of installed RAM and how much virtual memory that workload requires. If there is no other information available, the normal recommendation of 1.5 times the amount of RAM in the computer is a good place to start. On server systems, a common objective is to have enough RAM so that there is never a shortage and the pagefile is essentially, not used. On these systems, having a really large pagefile may serve no useful purpose. On the other hand, disk space is usually plentiful, so having a large pagefile (e.g. 1.5 times the installed RAM) does not cause a problem and eliminates the need to fuss over how large to make it."

Voor meer informatie, zie:

How to determine the appropriate page file size for 64-bit versions of Windows Server 2003 or Windows XP
RAM, Virtual Memory, Pagefile and all that stuff

Doe er je voordeel maar mee zou ik zeggen...

  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Ok, dank voor alle tips..
Ik heb een aantal dingen geprobeerd.

Allereerst de pagefile teruggebracht naar 16MB (max 1GB). pagefile.sys is nu inderdaad gekrompen naar 72MB. De taskmanager ziet er nu zo uit:

Afbeeldingslocatie: http://www.marliesdekkers.nl/screenie_tm_shrinkpf.jpg

PF Usage is nog steeds 1GB (na een reboot), maar c:\pagefile.sys is 79MB 8)7

Daarna verder ge-googled, en kwam tips tegen over het plaatsen van ConservativeSwapfileUsage=1 in system.ini tegen. Dit zorgt ervoor dat Windows al het geheugen probeert te verbruiken, alvorens van de swapfile gebruik te maken. Toch blijft m'n pagefile 1GB groot na een reboot.

Een overzichtje van de pagefaults in de task manager ziet er zo uit: Afbeeldingslocatie: http://www.marliesdekkers.nl/screenie_tmpagefaults.jpg
Dit is net na een reboot, maar na een uurtje draaien heeft store.exe (exchange dus) verreweg de meeste pagefaults. Als ik dit vergelijk met andere draaiende exchangeservers, dan hebben ze eigenlijk allemaal dezelfde hoeveelheid faults, met exchange aan kop.

Wat me wel is opgevallen, en ik denk dat hier het performance-probleem zit, is de disk/array-performance. M'n raidconfig is:
Read: normal
Write: Write-Back
Cache: Cached I/O

Snelheid:
Write: 110MB/Sec
Read: 5MB/sec

Daar gaat dus iets niet goed, ik heb al wat gespeelt met de raidcontroller instellingen, maar tot dusver zonder verbetering...

Like this yall...


  • maratropa
  • Registratie: Maart 2000
  • Niet online
Dat is wel heel leip inderdaad. Maar hoe heb je dat gebenched? en vertel eens precies wat voor array's er in zitten? Als je getest hebt terwijl er alles loopt (bijvoorbeeld exchange die druk aan het lezen is, dan lijkt me dat de read snelheid niet goed gemeten zal worden.)

Read kun je denk ik trouwens beter op adaptive read ahead of read ahead zetten.

Conservativeswapfileusage is trouwens alleen voor windows98 dacht ik :) (NT heeft een pagefile, geen swap)

[ Voor 41% gewijzigd door maratropa op 28-09-2006 22:50 ]

specs


  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
gladiool schreef op donderdag 28 september 2006 @ 22:46:
Dat is wel heel leip inderdaad. Maar hoe heb je dat gebenched? en vertel eens precies wat voor array's er in zitten?
Een LSI-Logic 320-2 raidcontroller, 2 channels, 1 in gebruik.
Daaraan gekoppeld 2 Seagate 70GB (RAID0), en drie Seagate 145GB (RAID5) SCSI 10K schijven

Exchange heeft op dit moment bijna geen belasting, hooguit een paar verdwaalde webmailers.

Getest heb ik met DiskBench (zie linkje ergens hierboven),

Wat me opvalt is dat na 1x lezen (@6MB/sec) de tweede/derde/etc keer de file wel gewoon met 250MB/sec gelezen kan worden. Ik vermoed dat .NET waar de bencher in draait iets slims doet met caching oid.

De READ mode van de kaart staat nu op: adaptive read ahead

Like this yall...


  • maratropa
  • Registratie: Maart 2000
  • Niet online
Dat klinkt alsof er gecached wordt :)

Misschien dat er nog wat instellingen zijn van exchange? (weet ik verder niks vanaf)

Bij "performance options" in de system properties kun je trouwens kiezen voor meer geheugen voor de systeem cache of meer geheugen voor programma's. Waar staat deze nu op, en zet hem eens op de ander (wel reboot nodig.) Volgens mij is dit hezelfde als de largesystemcache optie.

Volgens mij wil exchange largesystemcache niet aan trouwens

En zeggen je "event logs" nog wat?

Test ook de HD snelheid eens met hdtach/atto/hdtune, gewoon om te kijken of de maximale doorvoer gehaald kan worden. (van beide array's)

[ Voor 22% gewijzigd door maratropa op 28-09-2006 23:19 ]

specs


  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
gladiool schreef op donderdag 28 september 2006 @ 23:10:

Bij "performance options" in de system properties kun je trouwens kiezen voor meer geheugen voor de systeem cache of meer geheugen voor programma's. Waar staat deze nu op, en zet hem eens op de ander (wel reboot nodig.) Volgens mij is dit hezelfde als de largesystemcache optie.
Die staan al op "System Cache" en "Background services", maakt overigens niets uit, wisselen daartussen. Daarbij, het systeem is gewoon 99,9 % idle op het moment.

Het lijkt of ik inmiddels alles al heb geprobeerd. Misschien is m'n RAID controller wel gewoon stuk...
De NVRAM logs van de kaart zijn schoon, evenals de eventlog etc etc.. :( :(

Like this yall...


Verwijderd

Dit lijkt me echt een HW-probleem. Heb je geen support bij Acer? Zij moeten toch kunnen zeggen wat er scheelt.

My advice: Acer bellen -> hun server = hun probleem.

offtopic: als je een goeie server wil met een goeie raid controller ga dan naar een HP(/Compaq!) Proliant server. Ik heb zowat alle belangrijke merken (IBM, Dell, Fujitsu-Siemens) geïnstalleerd en gesupporteerd en HP Proliant steekt er met kop en nek boven uit. Kan zijn dat die wat meer kost dan een Acer, maar is z'n geld waard.

Owja: vergeet ook dit niet. Heeft niks te maken met je probleem, maar is wel belangrijk dat je het doet voor Exchange performance.

Raid5 is ook niet de beste raidconfig voor een database zoals exchange, maar ik weet het; Raid 10 kost meer geld aan disken.

Ik raad je trouwens aan om voor een exchange server 3 logische disken aan te maken. 1 voor het OS, 1 voor de Transaction Logs en 1 voor de Database. Je OS heeft immers maar 1 diskqueue per logische disk. Als er dus verschillende read/write operaties zijn naar verschillende disken tegelijk kan je OS dit simultaan afwerken. Als je gewoon verschillende partities aanmaakt op 1 logische drive heb je dus 1 queue voor alle partities. Beter nog drie verschillende arrays, maar daar gaat he kostenplaatje weer de hoogte in.

[ Voor 44% gewijzigd door Verwijderd op 28-09-2006 23:29 ]


  • Survivor1979
  • Registratie: Februari 2005
  • Laatst online: 29-10-2025
Waarschijnlijk is inderdaad een proces heel erg druk op de disk aan het lezen toen je de test uitvoerde. 5MB/s lezen en 100MB/s schrijven staat absoluut niet in verhouding met elkaar. Welke instellingen heb je gebruikt in Diskbench? Als ik het test met Diskbench, laat ik hem meestal een file van zo ongeveer 1 GB schrijven om disk performance te meten, en een ANDERE file van ook zo 1 GB lezen. Een instelling die je bijvoorbeeld zou kunnen kiezen voor de leestest is is om het een file te kiezen van zo'n 1GB groot en die dan laten lezen in blokken van bijvoorbeeld 50MB.Hoe groter je de block size kiest, hoe sneller het lezen zal gaan. Voor het schrijven kan je bijvoorbeeld kiezen voor 50 blokken van 20MB.

Om je een vergelijk te geven: mijn systeem (4x400GB WD in RAID 5 op Highpoint 2300), heeft een leesperformance van zo'n 80MB/s bij blokken van 50MB groot, en 105MB/s met blokken van 500MB groot.
Schrijfperformance in het genoemde voorbeeld (20 blokken van 50MB) is op mijn systeem ook ongeveer 105MB/s. Aangezien jij snellere disks hebt (SCSI!), zou ik verwachten dat in ieder geval de leesperformance boven dat van mij uit zou moeten komen.
BTW, Als je het programma 2x dezelfde file laat lezen, is het gecached door Windows en krijg je onrealistische resultaten.

Verder zou ik even kijken naar welk proces er zo druk bezig is op de disk. Eerder in deze thread is door Viper al aangegeven dat je in de Task manager kunt aangeven dat je per proces kan laten zien hoeveel er gelezen en geschreven is van/naar de disk. Dat lijkt me in ieder geval zeer zinvol om te doen. Verder zou het goed zijn om alle processen die veel naar disk lezen en schrijven te stoppen als je nog een lees/schrijf test doet.

  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Als ik in de taskmanager kijk en sorteer op IO Writes en IO Reads, zie ik geen enkel proces constant schrijven naar de disk, store.exe, lsass.exe schrijven een heel klein beetje, verder is alles idle.

Een nieuwe test met hdtach laat hetzelfde plaatje zien:

Ik vrees toch dat m'n controller/scsi-cable niet helemaal in orde is..
Er loopt nu nog een uitgebreide test maar die duurt een uurtje, daarmee morgen in ieder geval even Acer bellen..

Like this yall...


  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Kleine update, de write snelheden zijn ook zo rond de 6MB/sec.
De resultaten uit de eerste test met diskbench kloppen dus niet.

Afbeeldingslocatie: http://www.marliesdekkers.nl/screenie_hdtune.jpg

Morgen weer verder, bedankt voor alle tips in ieder geval!

Like this yall...


  • mrFreeZe
  • Registratie: December 1999
  • Laatst online: 25-05-2025
Net Acer server-support gebeld, en het probleem zit hem in de stripe-size van de arrays volgens Acer. De stripesize staat 2K, waarschijnlijk was dit de factory-default van de controller.

Helaas houd dit wel in dat ik m'n arrays opnieuw moet aanmaken/formatteren etc.

Dit brengt me meteen op een volgend probleem.., heeft iemand ervaring met disk-imaging software die goed omgaat met gangbare raid-controllers ? Ik kan me herinneren dat ik tijdens de installatie geprobeerd heb met Acronis Trueimage een partitie te restoren, maar die herkende tijdens het booten van de acronis-rescue-cd m'n LSI controller niet, waardoor teruglezen onmogelijk was.

PS: Even een applaus voor Acer, 1x bellen, normaal gesprekstarief en direct een nederlandse sr. engineer aan de lijn. Ze sturen zelfs een vervangende controller op. "Just in Case" volgens Acer. Way to go! _/-\o_

Like this yall...

Pagina: 1