Spørgsmål og svar

Tilbage
Søgeord:  

Ydeevne - hvordan kan jeg forbedre den?
Her er en oversigt over flere måder at forbedre ydeevnen på websteder, der hostes på vores webservere.

Generelle tips

  • Brug små filer. Ikke alle har en top-notch internetforbindelse. Selv når tingene går hurtigt for dig, kan de gå langsomt for andre.
  • Brug ikke attributterne WIDTH og HEIGHT i IMG SRC til at ændre størrelsen på dine billeder. Opret i stedet thumbnails på forhånd og brug A HREF til at linke til det større billede, hvis du ønsker, at dine besøgende skal se det.
  • Test skærmhastigheden med en netbook (lille, langsom bærbar computer).
  • Test skærmhastigheden med en mobiltelefon uden et højhastighedsnetværk.
  • Husk, at Flash og PDF ofte bruges til at sprede virus, spyware og anden ondsindet software, og det kan også være tungere for din besøgendes browser at indlæse, især for små og håndholdte enheder. Brug HTML og CSS i stedet.
  • Minimer brugen af eksternt indhold (billeder, annoncer, Flash, film osv.). "Ekstern" betyder indhold, du henter/indlæser fra andre steder på nettet til visning på din hjemmeside.
  • Tilføjelser, udvidelser, moduler, stiltemaer, plugins osv. (tilføjelser, udvidelser, moduler, temaer, plugins) kan gøre dine hjemmesider langsommere. Nogle programmer, f.eks. Joomla, bliver langsommere, bare fordi disse er installeret, selvom de ikke er aktiveret.

Værktøj på egen computer

Alle, der arbejder med hjemmesidens ydeevne, bør teste deres hjemmesider med flere forskellige browsere, og gerne med en mobiltelefon forbundet med mobildata (ikke WLAN). Følgende browsere bør testes på din egen computer:

  • Firefox (Linux, Mac, Windows)
  • Google Chrome (Linux, Mac, Windows)
  • Internet Explorer (Windows)
  • Opera (Linux, Mac, Windows)
  • Safari (Mac, Windows)

Til test anbefaler vi, at du bruger browsertilføjelser, der giver dig mulighed for at se ressourceforbrug. Google Chrome (Vis->Udvikler->Udviklerværktøjer), Opera (Værktøjer->Avanceret->Opera Dragonfly) og Safari (Udvikler->Vis webinspektør) kommer med sådanne udvidelser indbygget, men du skal muligvis aktivere disse specifikt . Tjek dokumentationen.

Til Firefox anbefaler vi at bruge begge følgende tilføjelser:

PHP og CGI i links og inkluderer

Når vi skriver om PHP i punkterne nedenfor, gælder principperne også for CGI, da måden det fungerer på er ens.

På vores webservere kører PHP som CGI under suphp. PHP-websider og scripts kører derfor som separate processer for hver webanmodning med din Unix-brugers (FTP-brugernavn) rettigheder. Disse processer slutter, når websiden er færdig med at indlæse, og hverken koden eller resultatet er gemt på webserveren.

Dette resulterer i acceptabel sikkerhed, men ofrer en vis ydeevne. Du bør derfor undgå nogle typiske programmeringsteknikker til "acceleration" og "caching" gennem PHP, som simpelthen ikke virker . I værste fald kan du støde på webserverens selvforsvarsmekanisme , som sætter ind, når websiderne forsøger at indlæse for mange samtidige elementer, sider og scripts.

  1. Billeder skal altid indlæses statisk
     <IMG SRC="/mappe/med/bilde_4711.png">
    og ikke via et PHP/CGI-script, f.eks.
     <IMG SRC="/mappe/med/bilde_viser. php ?bilde=4711.png">
    Tilsvarende: Opret thumbnails på forhånd, når du uploader originalerne til serveren, generer dem ikke hver gang de skal vises.
  2. Af samme årsager bør CSS og JavaScript også indlæses fra statiske filer, ikke PHP.
  3. Komprimering af indhold bør ske før det uploades til serveren, ikke via PHP. Hvis du ved, hvordan du tænder og bruger ob_gzhandler, så er der en undtagelse fra reglen.
  4. Undlad at cache indhold i PHP-filer, gem i stedet i statisk HTML.

    Godt:
     <a href="/cache/1/1a/1a23bsadf.html">Cachet dokument</a>
    Også godt: cache oplysningerne i din MySQL-database.

    Dårligt:
     <a href="/cache/1/1a/1a23bsadf. php ">Cachet dokument</a>
  5. Brug ikke include(), include_once(), require() eller require_once() med absolutte URL'er. Brug i stedet relative referencer.

    God kode:
     include("/includes/myinclude.php")
    Dårlig kode:
     include("http://www.example.com/includes/myinclude.php")
    Ovenstående starter en ny PHP-proces for hver include(), og vil få dine websider til at køre betydeligt langsommere.
  6. Prøv at undgå brug af cookies og sessioner, hvor du ikke må have dem. Dette gør det muligt for vores servere midlertidigt at gemme statisk information fra én bruger til den næste.

Database brug

  • Opret forbindelse til databasen maksimalt én gang pr. sidevisning.
  • Angiv de kolonner, du skal bruge data fra, f.eks.:
     SELECT etternavn, fornavn, sted FROM folk;
    Undgå det generelle
     SELECT * FROM folk;
    hvis du ikke har brug for alle kolonnerne.
  • Tabeller, der ofte opdateres og forespørges, vil være langsomme med MyISAM-motoren, overvej at skifte til InnoDB:
     ALTER TABLE folk ENGINE innodb;
  • Tabeller, hvor ret mange data er blevet slettet, eller der er foretaget mange ændringer i felter af typen varchar, varbinary, blob eller tekst, bør jævnligt optimeres. For tabellen "mennesker" kan det gøres med denne SQL-kommando:
     OPTIMIZE TABLE folk;
  • Se også MySQL-dokumentationens kapitel om optimering . Husk, at du ikke kan gøre ting, der kræver systemadgang eller SUPER -rettigheder.

WordPress

Brug ikke TimThumb eller lignende løsninger til billeder, de overtræder det første punkt i listen ovenfor (" PHP og CGI i links og inkluderer "). WordPress-udviklere anbefaler at bruge indbyggede funktioner til thumbnails , som også har flere funktionelle fordele sammenlignet med TimThumb og andre

Til Wordpress med meget trafik eller store websteder bør du overveje udvidelsen WP Super Cache . Det er meget vigtigt, at dette er konfigureret til at bruge metode 1, mod_rewrite . Metode 2 og 3 forbedrer ikke ydeevnen af vores webhosting.

Admin-siderne i Wordpress er ofte langsomme, hvis du har flere tilføjelser installeret, da det er almindeligt, at de kontakter udbyderen for at tjekke for opdateringer. Dette er en funktion, ikke en fejl, men overvej venligst at fjerne tilføjelser, som du ikke bruger.

Eksempler

Eksemplerne nedenfor bruger skærmbilleder fra Chrome 8. I Chrome 9 og nyere er panelet "Netværk" valgt i stedet for "Ressourcer", men ellers er brug og fortolkning ens. Du kan læse mere om dette på Google Chromes udviklerwebsider .

www.vg.no

Først ser vi på et eksempel fra www.vg.no via vores 1 Gbps linje, downloadtiden vil være længere på langsommere linjer:

www.vg.no-ressources

www.vg.no indlæser indhold fra flere kilder, herunder andre servere hos VG, og f.eks. ekstern leverandør midasplayer.com. Dette ser for det meste ud til at gå hurtigt, men indlæsning af eksternt indhold og indhold fra andre servere kan gøre sideindlæsningen langsommere. Hvis vi havde kigget længere nede på listen over indlæste elementers ressourceforbrug, ville vi have set, hvad det er, der udgør det sidste sekund af tidsforbrug.

Domænebutik SOS

Og her er det tilsvarende eksempel for det punkt i vores Q&A, som du ser på nu:

SOS 246 ressourcer

Som du kan se, er faq hovedsageligt ressourcebegrænset af selve CGI-scriptet, mens indlæsning af billeder er hurtig. Enhver forbedring skal så ligge i optimering i koden i selve faq .

Se også:

© 2024 Domeneshop AS · Om os · Vilkår · Fortrolighedspolitik