Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
SQL Server e Memoria
mercoledì 07 settembre 2005 - 09.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Cyberman
Profilo
| Newbie
3
messaggi | Data Invio:
mer 7 set 2005 - 09:39
Ciao a tutti !
Ho un problema con un server SQL.
Stiamo passando da un server con 2P + 4Gb ram ad un server con 2P + 8Gb e Windows 2003 EE.
Ho attivato sul windows nuovo /3GB e /PAE e su SQL server AWE e ho impostato la riservazione di 7gb di RAM per SQL Server.
Una prima domanda è questa:
Perchè nel task manager o nel System Profiles la ram assegnata al processo sqlsrv.exe è 80 mega ??? Io gli ho riservato 7gb che se li prenda TUTTI subito !!!
Seconda domanda:
Le prestazioni non sono poi poi così differenti dall'altro server e in particolare anche nell'altro nell'execution plan del Query analizer non ho nessuna query nella quale mi appare una esecuzione "parallel".
Ovviamente ho impostato SQL Server che usi tutti e 4 i processori (2reali + 2 Hiper Threading)
Grazie infinite !!!
Ciao.
Riccardo.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 7 set 2005 - 11:36
> Perchè nel task manager o nel System Profiles la ram assegnata al processo
> sqlsrv.exe è 80 mega ??? Io gli ho riservato 7gb che se li prenda TUTTI subito !!!
Ciao Riccardo,
SQL Server andrà ad occupare la RAM man mano che aumenterà il carico di lavoro (data pages, query plans, ecc...).
Vedrai che lasciando lavorare la macchina l'occupazione di RAM aumenterà, eventualmente fino al limite massimo da te impostato.
> Le prestazioni non sono poi poi così differenti dall'altro server
> e in particolare anche nell'altro nell'execution plan del Query analizer
> non ho nessuna query nella quale mi appare una esecuzione "parallel".
Prima di tutto verifica il massimo grado di parallelismo impostato per l'istanza (max degree of parallelism), eseguendo da QA la stored procedure di sistema sp_configure: se config_value e run_value sono valorizzate a 0, significa che l'istanza è configurata per utilizzare tutte le CPU (logiche e fisiche, non c'è distinzione) visibili al sistema operativo.
Per maggiori info leggi il paragrafo "max degree of parallelism Option" sui Books Online:
http://msdn.microsoft.com/library/en-us/adminsql/ad_config_7h9q.asp
Se l'istanza è configurata per utilizzare più di una cpu e malgrado questo non vedi alcun piano di esecuzione con una parallel query execution, significa che la query non può essere parallelizzata per diversi motivi.
Sempre sui BOL prova a leggere il seguente paragrafo:
"Degree of Parallelism"
http://msdn.microsoft.com/library/en-us/architec/8_ar_sa_163x.asp
> Ovviamente ho impostato SQL Server che usi tutti e 4 i processori (2reali + 2 Hiper Threading)
E ovviamente sei in possesso di tutte le licenze necessarie... ;-)
> Grazie infinite !!!
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Cyberman
Profilo
| Newbie
3
messaggi | Data Invio:
mer 7 set 2005 - 12:25
Ho provato ad Eseguire diverse query e a far girare le applicazioni che usano quel DB e quel server ma la RAM nel task manager non aumenta! Resta sempre 80Mega!! Ho provato ad usare il comando PINTABLE per tentare di mettere in RAM la tabella con molti record che ho preso a campione per i test ma le prestazioni del server sono pressochè identiche al vecchio !
Per il test ho valutato i tempi di risposta si una query che coinvolge una 20ina di tavelle e una 40ina di query annidate una dentro l'altra in un bel pò di di livelli. La tabella più grande contiene circa 400.000 righe.
Allego un bitmap dell'execution plan della query.
Possibile che in questo execution plan non ci sia neanche una istruzione "Parallelism" ???
Non penso sia banale trovare una soluzione !
Il risultato di DBCC MEMORYSTATUS sul nuovo server è:
Stolen 645
Free 497295
Procedures 546
Inram 238
Dirty 2486
Kept 0
I/O 0
Latched 412
Other 14241
Cosa significano quei numeri ? In che unità di misura sono ? MegaByte ?
Per le licenze... Tra hardware e software EE per 2 proc quel server è costato un patrimonio !!!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 7 set 2005 - 12:41
> Ho provato ad Eseguire diverse query e a far girare le applicazioni
> che usano quel DB e quel server ma la RAM nel task manager non aumenta!
> Resta sempre 80Mega!!
Hai applicato il Service Pack 4 e la fix successiva per AWE?
http://www.microsoft.com/downloads/details.aspx?familyid=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=en
> Ho provato ad usare il comando PINTABLE per tentare di mettere in RAM la tabella
> con molti record che ho preso a campione per i test ma le prestazioni del server
> sono pressochè identiche al vecchio !
Così su due piedi non so che dirti.
> Non penso sia banale trovare una soluzione !
> Il risultato di DBCC MEMORYSTATUS sul nuovo server è:
Non conosco quel comando DBCC dato che non è documentato.
Sulla KB ho trovato questo articolo, prova a dargli un'occhiata:
"INF: Using DBCC MEMORYSTATUS to Monitor SQL Server Memory Usage"
http://support.microsoft.com/kb/271624/en-us
> Per le licenze... Tra hardware e software EE per 2 proc quel server è costato un patrimonio !!!
Ci credo :-D
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Cyberman
Profilo
| Newbie
3
messaggi | Data Invio:
mer 7 set 2005 - 13:37
Avevo scaricato quella PATCH ma non l'avevo installata e la tua mail mi è stata di aiuto.
Adesso i numeri nel MEMORYUSAGE sono molto più alti ma il task manager indica sempre 106MegaByte !?!?!?
Le prestazioni sulla query che ho descritto sono identiche !
Ma qualcuno di voi non ha sotto mano un server con più di 4gb di ram e le AWE enable per dirmi quanto gli indica il taskmanager ?
Vi ringrazio per l'aiuto !!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !