Avatar billede mr.handstand Novice
18. juni 2001 - 14:37 Der er 6 kommentarer og
1 løsning

Teori om hukommelses-på SQL7- hvor meget er optimalt??

Hvordan udregner jeg den optimale hukommelses-tildeling for min SQL 7?

Jeg er ikke interesseret i blot at høre at vi skal dedikere én server til SQL\'en der bare skal have MASSER RAM. Not gonna happend.... (pt. 1 Giga RAM)

Derfor: Hvis jeg har en række tabeller, hvordan udregnes så optimal memory-allocation. (Der kører kun ganske få Stored P. Hovedparten af trækket er via ASP med embedded SQL-forespørgsler,updates,inserts osv.)

Jeg har kigget i Index/Table Properties. Men hvordan regner man behov ud?

Forestil dig evt. at vi har to tabeller:
Table1:
ID : Integer (KEY)
Name: nvarchar(100)

RecordCount for Table1: 480.000

Table2:
ID : Integer (KEY)
Description : Nvarchar(60)
Table1ID : Integer (Foreigh Key)
Created: Datetime

RecordCount: 650.000

Hvor meget mem skal allokeres for at dette vil være optimalt? -

Er dette et umuligt spørgsmål at besvare?

Er der evt. bestemte sites på nettet der dækker dette?

Venlig hilsen
Søren
Avatar billede slash Nybegynder
18. juni 2001 - 14:48 #1
én ting er sikkert! lad være med at allokere for lidt ram, for så vil der blive swappet så det basker og så har du et langsomt system!

Så vidt jeg husker så styrer sql-serveren selv pr. default hvor meget ram den skal bruge - et sted hvor du måske ville kunne finde et \"svar\" er i SQL books online eller på http://www.sqlmag.com / http://www.sqlteam.com, men jeg tror næppe der er en formel for at udregne optimal ram allokering!
Avatar billede mr.handstand Novice
18. juni 2001 - 14:54 #2
Det er jo netop en form for formel jeg er ude efter. Noget i retning af:
-For et given ID af typen Integer (4 bytes) fylder index incl diverse... 4byte?.... 6byte ...8Byte?

-For et indexeret nvarchar(30) fylder index...?

Noget i dén retning, hvorefter jeg havde håbet at kunne beregne samtlige index (ca. 70 stk) x diverse recordcounts, hvilket ville give mig  antal 100 Mb, som jeg herefter naivt ville tildele mit SQL. Derefter var mit (stadig) naive håb at jeg kunne fortælle SQL\'en at index allokeres i RAM og de mange Giga data hentes ved behov.

Er der andre bud? - eller må jeg bide i det sure æble og i blindhed indkøbe Giga efter Giga?
Avatar billede jakobandersen Nybegynder
18. juni 2001 - 15:22 #3
Før rammonstret går op i dig er her et link jeg har haft glæde af de par gange jeg har haft den tvivlsomme fornøjelse af at lege med MS SQL:

http://www.sql-server-performance.com/
Avatar billede mr.handstand Novice
18. juni 2001 - 15:37 #4
Det tror jeg var svaret jeg sådan omtrent ledte efter, Moonduck. Ikke at du kom med den endegyldige formel, der sagde at alverdens SQL kan køres på ca. 600Kb RAM (Thse were the days). Men alligevel...
Her er der da noget at kaste sig over.

Du får pointene, men stadig: Jeg har flere point at dele ud af, hvis andre har endnu bedre råd. Keep\'m comming!
Avatar billede gandalfthewhite Nybegynder
21. juni 2001 - 00:33 #5
Tabellerne er og deres sammensætning er vel mest relevant i forbindelse udregning af disk plads, hvilket jeg går ud fra at du ikke har problemmer med.

Jeg vil mene at antallet af brugere (helst anslået samtidige) også er ganske relevant for den vurdering.

En anden ting man skal være meget opmærksom på hvis der er mange brugere er disk I/O. Nok så meget RAM hjælper ikke hvis der ikke er tilstrækkelig disk I/O til at flytte data frem og tilbage.

Karakteren af dine forespørgelser har også betydning, idet komplekse joins med mange records tærrer lidt ekstra på krafterne i forhold simple select statements. Cursor typer har også betydning for hvor meget RAM de enkelte operationer bruger.

Jeg tror derfor det bliver svært at \"udregne\", men at guestimates bliver det nærmeste du kommer.
Avatar billede torbenkoch Nybegynder
18. juli 2001 - 09:55 #6
Guestimates - jeg har nu lært et nyt ord, som jeg vil elske at bruge ;-)
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 12:33 #7
Bare for underholdningsværdien så læs lige dette her:

http://groups.google.com/groups?hl=da&safe=off&th=cb55133eba6b0225,42&ic=1

Det er dating.dk der havde problemer med deres MS SQL load
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester