Lokituksen määritys analyysiä varten
Määrittäkää PostgreSQL:n lokitus keräämään suorituskyvyn analysoinnissa ja vianmäärityksessä tarvittavat tiedot.
Lokituksen määritys analyysiä varten on ilmainen PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PostgreSQL:n suorituskyky ja kyselyjen optimointi-kurssilla on yhteensä 4 oppituntia.
Miksi PostgreSQL-lokit ovat tärkeitä
PostgreSQL-tietokannan toiminnan ymmärtäminen on ratkaisevan tärkeää sen kunnon ja nopeuden ylläpitämiseksi. Lokit ovat tietokannan päiväkirja: ne tallentavat tärkeitä tapahtumia, virheitä ja jopa hitaita kyselyitä.
Kun lokitus määritetään oikein, saatte syvällistä tietoa siitä, mitä konepellin alla tapahtuu, mikä helpottaa huomattavasti vianmääritystä ja suorituskyvyn analysointia.
Mihin lokit menevät: log_destination
PostgreSQL voi lähettää lokitulosteensa eri kohteisiin. Tätä ohjaa postgresql.conf-tiedoston log_destination-parametri.
stderr: lokit lähetetään vakiovirheeseen (konsoliin).csvlog: lokit kirjoitetaan CSV-muodossa, mikä sopii hyvin ohjelmalliseen analysointiin.syslog: lokit lähetetään järjestelmän lokipalveluun.
Useimmille käyttäjille stderr (lokinkerääjän kaappaamana) tai csvlog ovat yleisimmät ja hyödyllisimmät vaihtoehdot.
Lokien kerääminen logging_collector-parametrilla
Jos log_destination sisältää arvon stderr, haluatte todennäköisesti PostgreSQL:n keräävän nämä lokitiedostot. Tässä logging_collector auttaa.
Kun logging_collector on on, PostgreSQL käynnistää taustaprosessin, joka kerää stderr-viestit ja ohjaa ne lokitiedostoihin. Voitte määrittää asetukset log_directory ja log_filename.
Näin otatte sen käyttöön:
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'Kaikkien SQL-lauseiden lokitus
Jos haluatte nähdä jokaisen suoritetun SQL-komennon, voitte asettaa arvoksi log_statement = 'all'. Tämä tuottaa erittäin paljon lokitietoja ja voi kasvattaa lokitiedostot valtaviksi, joten käyttäkää sitä varoen ja yleensä vain lyhytaikaiseen virheenkorjaukseen.
Oletetaan, että suoritatte tämän kyselyn:
SELECT * FROM products WHERE price > 100;log_statement-tulosteen ymmärtäminen
Kun asetuksena on log_statement = 'all', edellinen kysely näkyisi lokeissa. Muita hyödyllisiä asetuksia ovat:
ddl: kirjaa kaikki tietomäärittelykielen komennot (CREATE, ALTER, DROP).mod: kirjaa DDL- ja tietojenkäsittelykielen komennot (INSERT, UPDATE, DELETE).none: lauseita ei kirjata (oletus).
Yleiseen valvontaan ddl tai mod voi olla hyvä kompromissi, sillä ne tallentavat skeeman muutokset ja tietojen muokkaukset.
Hitaiden kyselyiden etsiminen: log_min_duration_statement
Tämä on yksi tehokkaimmista lokitusparametreista suorituskyvyn analysointiin. log_min_duration_statement kirjaa kaikki lauseet, joiden suoritus kestää määritettyä millisekuntimäärää kauemmin.
Arvo 0 kirjaa kaikki lauseet ja niiden suoritusajat. Arvo -1 (oletus) poistaa toiminnon käytöstä.
Esimerkki: jos haluatte kirjata yli 200 ms kestävät kyselyt:
log_min_duration_statement = 200Käytännössä: hitaan kyselyn simulointi
Jos log_min_duration_statement-asetuksena on 100 (100 ms), tällainen kysely näkyisi lokeissa, jos sen suoritus kestää yli 100 ms. Näin voitte tunnistaa suorituskyvyn pullonkaulat.
SELECT pg_sleep(0.15);
-- This query intentionally sleeps for 150msYhteyksien muodostamisen ja katkaisemisen lokitus
Asiakkaiden toiminnan seuraaminen voi olla tärkeää tietoturvan ja resurssienhallinnan kannalta. Voitte määrittää PostgreSQL:n kirjaamaan asiakkaiden yhteydenotot ja yhteyksien katkaisut.
log_connections = on: kirjaa onnistuneet yhteydenmuodostusyritykset.log_disconnections = on: kirjaa asiakkaiden yhteyksien katkaisut, mukaan lukien istunnon keston.
Näiden asetusten avulla saatte arvokasta tietoa siitä, kuka muodostaa yhteyden, mistä yhteys tulee ja kuinka kauan se kestää.
Lokitulosteen jäsentäminen: log_line_prefix
log_line_prefix-parametrilla voitte lisätä hyödyllisiä tietoja jokaisen lokirivin alkuun. Tämä helpottaa lokien jäsentämistä ja ymmärtämistä huomattavasti.
Yleisiä etuliitteitä ovat aikaleima, käyttäjä, tietokanta, prosessitunnus ja asiakkaan IP-osoite. Esimerkiksi:
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h 'Pikatarkistus: hitaiden kyselyiden lokitus
Mitä määritysparametria käytetään tietyn suoritusajan ylittävien SQL-lauseiden kirjaamiseen, joten se on erittäin hyödyllinen suorituskyvyn pullonkaulojen tunnistamisessa?
Kertaus: lokimääritysten hallinta
Olette oppineet määrittämään PostgreSQL-lokituksen tehokasta analysointia ja vianmääritystä varten.
- Käsittelimme
log_destination-parametrin lokien tulostuskohteen määrittämiseen. - Otimme käyttöön
logging_collector-asetuksen lokien keräämiseksi tiedostoihin. - Käytimme
log_statement-asetusta kyselyiden yleiseen lokitukseen. - Tunnistimme hitaat kyselyt tehokkaan
log_min_duration_statement-parametrin avulla. - Tutustuimme asetuksiin
log_connectionsjalog_line_prefixlisätietojen tuottamista varten.
Asianmukainen lokitus on ensimmäinen puolustuslinjanne PostgreSQL-tietokannan toiminnan ymmärtämisessä ja optimoinnissa!
Opi SQL tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 22
- Oppitunnit
- 88
Usein kysytyt kysymykset
Onko oppitunti ”Lokituksen määritys analyysiä varten” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppimispolun 3 oppituntia, myös oppitunnin “Lokituksen määritys analyysiä varten”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. PostgreSQL:n suorituskyky ja kyselyjen optimointi-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lokituksen määritys analyysiä varten”?
Määrittäkää PostgreSQL:n lokitus keräämään suorituskyvyn analysoinnissa ja vianmäärityksessä tarvittavat tiedot. Harjoittelet PostgreSQL:n suorituskyky ja kyselyjen optimointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni PostgreSQL:n suorituskyky ja kyselyjen optimointi-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Lokituksen määritys analyysiä varten”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppitunnilla?
Kyllä. Jokainen PostgreSQL:n suorituskyky ja kyselyjen optimointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- pg_stat_statementsin ja pg_buffercachen käyttö
- Lokituksen määritys analyysiä varten
- Integrointi ulkoisiin valvontatyökaluihin
- Aktiivisen toiminnan diagnosointi pg_stat_activityllä