Avatar billede janjacobsen Nybegynder
03. april 2004 - 18:07 Der er 17 kommentarer og
1 løsning

Optimere server til PostgreSQL

Er der nogen som præcis ved, hvordan man kan optimere ens server til en bestemt proces?
Udover at afinstallere/deaktivere adskillige andre processer på serveren må man da kunne optimere serveren til kun at ofre sig til en ting.
Lad os sige vi vil optimere serveren til at arbejde med næsten kun PostgreSQL - hvad gør man?
Avatar billede mfalck Praktikant
03. april 2004 - 20:47 #1
brug kommandoen nice/renice på postgres-serverens pid
Avatar billede janjacobsen Nybegynder
04. april 2004 - 12:28 #2
Ok, dvs. man skal gøre det altid? Kan man ikke lave et par kommandoer i cron?
Eller kan man ikke ændre i opsætningen - tildelingen af hestekræfter?
Avatar billede mfalck Praktikant
04. april 2004 - 12:51 #3
umiddelbart vil det nemmeste være at lave en wrapper i form af et shellscript som starter postgres og så sætter prioriteten med nice
Avatar billede janjacobsen Nybegynder
04. april 2004 - 13:24 #4
Jeg er lidt ny i det her. Dvs. at når postgresql er startet vil den have den samme indstilling indtil man evt. genstarter ell. lign.
Jeg vil lige kigge lidt på kommandoer til PGsql.
Avatar billede mfalck Praktikant
04. april 2004 - 13:29 #5
nej det er ikke en kommando til postgres - det er en systemkommando du giver til operativsystemet.
Avatar billede janjacobsen Nybegynder
04. april 2004 - 13:32 #6
Ahh, ok - jeg vil lige arbejde lidt med det.
Avatar billede janjacobsen Nybegynder
04. april 2004 - 13:51 #7
Nu har jeg ændret defaultindstillinger(0) på disse:

Process ID CPU Started Command
1102 0.0 % Mar15 /usr/bin/postmaster
1104 0.0 % Mar15 postgres: stats buffer process 
1105 0.0 % Mar15 postgres: stats collector process 

Til værdi -20. Ifølge webmin er det højeste prioritet.
Er det det?
Avatar billede mfalck Praktikant
04. april 2004 - 13:58 #8
jeg tror du skal være meget forsigtig med at sætte den så højt - det kan betyde at postgres får højere prioritet end nogle af kerne processerne og det kan være katastrofalt; jeg ville sætte den til -1 højest.
Avatar billede janjacobsen Nybegynder
04. april 2004 - 14:56 #9
Super! Er der mere jeg kan gøre? Ved du hvordan man indekserer en database?
Ellers mange tak for hjælpen!
Ligger du et svar?
Avatar billede mfalck Praktikant
04. april 2004 - 15:03 #10
du indekserer tabellerne når du opretter dem ala:

create table myservs (
id  INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
updated INT,
serverexec varchar(120),
serverport varchar(10),
serverpassword varchar(30),
index portIdx (serverport)
);
Avatar billede janjacobsen Nybegynder
04. april 2004 - 15:08 #11
Uha, det er et firma som har lavet databasen. De indekserer den engang imellem pga. hastigheden er dårlig - virkelig dårlig.. Det er en forholdsvis hurtig maskine.
Fordi der er mange data i databasen kan det godt tage 30 sek. for en alm. query som går gennem mange tabeller.
Avatar billede mfalck Praktikant
04. april 2004 - 21:48 #12
ok - man kan godt indeksere databasen bagefter også med en alter table.

Som hovedregel for database-servere så er det ikke CPUen som er vigtig - det er meget ram (så serveren kan cache resultater) og hurtige diske (fordi meget af data ligger på disken).
Avatar billede janjacobsen Nybegynder
04. april 2004 - 22:03 #13
Den spytter det her ud:
[root@i-temp root]# cat /proc/cpuinfo
processor      : 0
vendor_id      : AuthenticAMD
cpu family      : 6
model          : 8
model name      : AMD Athlon(TM) XP 2200+
stepping        : 0
cpu MHz        : 1802.235
cache size      : 256 KB
fdiv_bug        : no
hlt_bug        : no
f00f_bug        : no
coma_bug        : no
fpu            : yes
fpu_exception  : yes
cpuid level    : 1
wp              : yes
flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips        : 3591.37

Og der er 512 Mb ram i den.

Ang. harddiske:
[root@i-temp root]# /sbin/hdparm -tT /dev/sda1

/dev/sda1:
Timing buffer-cache reads:  128 MB in  0.44 seconds =290.91 MB/sec
Timing buffered disk reads:  64 MB in  1.52 seconds = 42.11 MB/sec

Er det ikke godt nok?
Avatar billede mfalck Praktikant
04. april 2004 - 22:14 #14
måske skal du overveje at sætte lidt mere ram i den; så vidt jeg kan se er det en SCSI-disk ikke ?

min egen IDE siger:
[root@boyce falck]# /sbin/hdparm -tT /dev/hda1

/dev/hda1:
Timing buffer-cache reads:  1392 MB in  2.00 seconds = 695.06 MB/sec
Timing buffered disk reads:  100 MB in  2.43 seconds =  41.23 MB/sec
[root@boyce falck]#

så du kan få hurtigere diske end den du har i.
Avatar billede janjacobsen Nybegynder
04. april 2004 - 22:24 #15
Ja, der er godt nok en forskel der. Det er ikke en SCSI-disk der er i, men 2 IDE-diske sat op som mirror-raid.
Jeg mener det er IBM 60 Gb m. 7200 rpm. der er i. De er smidt ind i hotswap-skuffer, men det burde vel ikke betyde noget?
Hvor meget ram vil du anbefale da?
Avatar billede janjacobsen Nybegynder
04. april 2004 - 22:30 #16
Hmm, mine SATA-diske er lidt hurtigere på den anden server.

/dev/hde1:
Timing buffer-cache reads:  1088 MB in  2.00 seconds = 543.27 MB/sec
Timing buffered disk reads:  170 MB in  3.02 seconds =  56.37 MB/sec
Avatar billede mfalck Praktikant
04. april 2004 - 22:37 #17
jeg har tweaket lidt på mine parametre på harddisken for at få den til at køre hurtigere (og kører en version 2.6 kerne som er hurtigere) med følgende kommando:

hdparm -X66 -d1 -u1 -m16 -c3 <device>

du skal nok prøve en anden maskine først fremfor produktionsmaskinen (og virker kommandoen mig bekendt ikke på scsi-diske .. men om det virker på scsi-emulerede ide diske ved jeg ikke).

Angående ram: så meget som du har råd til ... ram er ikke det dyreste disse dage, så 512 eller 1024 mere i ?!?! det er økonomien som sætter grænsen
Avatar billede janjacobsen Nybegynder
04. april 2004 - 22:44 #18
Det må jeg hellere kigge på i morgen.
Den maskine kører med en 2.4 kerne.
Så må jeg hellere investere i flere ram da.
Mange tak for hjælpen ;-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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