Sådan foretages fejlfinding af en løbske proces i Drupal

October 13

Sådan foretages fejlfinding af en løbske proces i Drupal

Drupal er et populært, open source content management system, men nogle gange dens styrke er også dens svaghed. Nogen kan udvide funktionaliteten af Drupal eller, hvis de vælger, redigere scriptene, kerne. Disse ændringer kan dog oprette sløjfer i softwarens logik. I et forsøg på at finde en løsning, begynder softwaren at forbruge mere og mere af serverens ressourcer, indtil der ingen er tilbage. Derfor, hjemmesiden fryser, og hardwaren kan blive unresponsive. Hvis dette sker for dig, skal du foretage fejlfinding af disse løbske processer.

Instruktioner

Finde årsagen

1 Rulle tilbage de seneste ændringer. Hvis der øger Drupals hastighed og reaktionsevne, indeholder den nye kode problemet.

2 Undersøge din serverprocesser. I en Linux opbygge, køre "top" for at se, hvad forbruge ressourcer. I en Vinduer opbygge, lancere Process Monitor. Hvis den mest brystsyge proces er "mysql" eller "mysqld" vil du vide det er database-relaterede.

3 Anmeld din Drupal logs. Look for identiske, gentagne meddelelser. Ved hjælp af stierne refereres, arbejde gennem moduler til at opdage hvad udløser dem.

4 Kontroller dine serverlogfiler for at se, hvis nogen kunstigt udløser en periodisk proces (dvs., "poormanscron") til at forbruge ressourcer på din server.

Gennemføre en løsning

5 Fjerne uendelige sløjfer i bidrog kode. For eksempel, hvis du har en "drupal_goto();" funktion på side et, der peger til side to, og to indeholder sin egen "drupal_goto();" tilbage til side, en, du vil oprette en uendelig løkke. At fjerne en af de ulovlige funktioner vil fjerne den løbske proces.

6 Forenkle hukommelse aktioner (såsom database og streng søgninger) i din bidrog kode. For eksempel, kan en mySQL-forespørgsel, der søger hver node og returnerer en stor mængde data forbruge for meget hukommelse. I dette tilfælde begrænse mySQL forespørgsler til specifikke node-typer eller node oprettelsen datoer og begrænse de data, der returneres.

7 Øge PHP'S memory_limit godtgørelse. I nogle tilfælde kan en løbske proces ikke være et problem efter stigende hukommelse godtgørelse. Den "Drupal: stigning hukommelse limitere" dokument, som en del af installationsvejledningen til Drupal er den endelige ressource for at foretage denne ændring.

8 Forbyde udenforstående at udløse hukommelse processer som søgeindekseringen. Hvis Drupals tilladelse gitter ikke giver tilstrækkelig nøjagtighed, kan du også gøre dette ved hjælp af server og fil-baserede tilladelser ved hjælp af den vært apparat operativsystem (dvs., "chmod" til Linux). Alternativt bruge IP-baserede blokering inden for serversoftware (som Apache) for at forhindre andre i at forstyrre dit websteds effektivitet.

Tips & advarsler

  • Finde en løbske proces i Drupal er en masse som detektiv arbejde. Arbejde langsomt og indsamle spor, som du undersøge for at finde den egentlige årsag til problemet.
  • Øge den hukommelse godtgørelse er et godt kortsigtet fix, men i gang de fleste løbske processer vil forbruge disse ressourcer. Også, altid lave en sikkerhedskopi af dit websted før du foretager ændringer!

© 2021 iamgreatindian.com | Kontakt os: webmaster# iamgreatindian.com