brug af shared memory fra php i FreeBSD

From: Claus Guttesen (none@kometen--gmail.com.lh.bsd-dk.dk)
Date: Sat 21 Oct 2006 - 13:13:22 CEST


Date: Sat, 21 Oct 2006 13:13:22 +0200
From: "Claus Guttesen" <none@kometen--gmail.com.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: brug af shared memory fra php i FreeBSD

Hej.

Er der generelle betragtninger ved brug af shared mem. som tilsiger at
man bør bruge få store områder, eller giver det ekstra overhead at
bruge mange små?

Jeg sidder (sammen med en anden) og vedligeholder en php-program, som
laver en del redundante db-forespørgsler, som henter tekst der skal
vises på siden. For ikke at bryde logikken i programmet, har jeg valgt
at lade programmet lave den første forespørgsel gå til databasen, og
samtidig registrere samme forespørgsel i et array ( php's
shm_put_var() ). Ved efterfølgende forespørgsel efter samme
information, henter den meddelelsen i shared memory vha. php's
shm_get_var(). Det er kun én type forespørgsel jeg gemmer (som er
egnet til at blive gemt).

Der er to muligheder:

1.At lave ét stort shared memory, som indeholder en variabel som er
første nøgle i forespørgslen, dernæst at næste nøgle, er
index-angivelsen i array'et.
2. Jeg laver mange små shared memory segmenter, hvor id'en på
segmentet svarer til første nøgle i shared mem.

Jeg har valgt alternativ nr. 2, og skulle justere kern.ipc.shmmni=8192
i /boot/loader.conf. Jeg ved at postgresql (samt mange andre
programmer) bruger shared mem., og at postgresql har valgt at lave ét
stort område.

Hilsen
Claus



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:25:05 CET