05. januar 2004 - 20:45Der er
17 kommentarer og 1 løsning
Avanceret optimering af PHP/MySQL ressourceforbrug
Jeg har lavet flere hjemmeside vha. php/mysql, og flere kører i øjeblikket med flere millioner hits om dagen. Derfor leder jeg efter metoder til at optimere ressourceforbruget.
Jeg vil våge at påstå, at jeg har styr på mysql indekser og mysql queries. Jeg kender dog intet til classer og php cache... kan disse to ting, eller andre, hjælpe mig til at presse væsentlig mere ud af mine servere, og i så fald, hvordan?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
05. januar 2004 - 20:50#1
Jeg bruger desuden RH linux 7.2, MySQL 3.23 og PHP 4.3 på en 1,3 ghz celeron maskine
Synes godt om
Slettet bruger
05. januar 2004 - 21:10#2
Så vidt jeg ved, kan klasser ikke hjælpe til at give bedre performance. Tværtimod.
En form for cache derimod, ville kunne gøre meget, hvis dine data er nogenlunde statiske.
Synes godt om
Slettet bruger
05. januar 2004 - 21:13#3
Kunne du eventuelt give nogle link til enkelte af dine sider?
Eventuelt kan du tage et kig på www.mysql.com som er fyldt med metoder til optimering af mysql-servere!
Det er ikke for PHP eller MySQL, med derimod generelt om hvordan man kan øge kapaciteten, hastigheden og effektiviteten for hjemmesider, måske kan du bruge det. Der står i hvert fald lidt om bl.a. cache, men desværre ikke hvordan man kodemæssigt løser tingene, med om ikke andet så for inspirationen skyld.
function CachedFileContent( $Content = 'none content' ) { $ip = getenv("REMOTE_ADDR"); $fp = fopen( $this->CacheDir() . $this->FileName(), "w" ); fwrite($fp, "" . time() + $this->Periode . "\n<!-- \n\n\tThis file was created " . date("d/m-Y H:i:s") . " and having a valid periode in " . $this->Periode . "sec.\n\tThis cached file is create by $ip and brought to you by ZOLID.dk \n\n-->\n" . $Content ); fclose($fp); }
function isValid() { $file = $this->getCachedFileContent(); if ( $file != false ) { $source = file( $this->CacheDir() . $this->FileName() );
1. Include filen Rundet om din sql select kan du benytte følgen kode til at cache output til en fil.
Du skal oprette et bib. kaldet cache i dit document root. (eks. /var/www/website1/cache) Dette bib. skal apache brugeren kunne skrive til.(chmod eller chown)
codebase, kan du forklare mig hvad din multi cache gør? Gemmer den blot SQL genereret indhold i en fil, og bruger filen hvis der er gået mindre end 2 timer siden den sidst blev skabt?
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.