{"id":35920,"date":"2019-10-31T22:07:35","date_gmt":"2019-10-31T19:07:35","guid":{"rendered":"https:\/\/prohoster.info\/blog\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql\/"},"modified":"2019-10-31T22:07:35","modified_gmt":"2019-10-31T19:07:35","slug":"nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","title":{"rendered":"Konfigurering av Linux-kjernens parametere for optimalisering av PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Konfigurering av Linux-kjernens parametere for optimalisering av PostgreSQL\" src=\"\/wp-content\/uploads\/2019\/07\/a28458ff50cdc517aad71b47adab6eb3.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Optimal ytelse for PostgreSQL avhenger av riktig konfigurerte parametere for operativsystemet. D\u00e5rlig justerte kjerneparametere kan f\u00f8re til redusert ytelse for databaseserveren. Derfor er det avgj\u00f8rende at disse parameterne er konfigurert i samsvar med databaseserveren og dens arbeidsmengde. I dette innlegget vil vi diskutere noen viktige Linux kjerneparametere som kan p\u00e5virke ytelsen til databaseserveren og hvordan de kan justeres.<\/p>\n<h2>SHMMAX \/ SHMALL<\/h2>\n<p>\n<b>SHMMAX<\/b> \u2014 er en kjerneparameter som benyttes for \u00e5 definere maksimal st\u00f8rrelse p\u00e5 et enkelt segment av delt minne (shared memory) som en Linux-prosess kan tildele. Frem til versjon 9.2 brukte PostgreSQL System V (SysV), som krevde innstilling av SHMMAX. Etter 9.2 skiftet PostgreSQL til POSIX-delt minne. S\u00e5 n\u00e5 kreves det f\u00e6rre bytes av System V delt minne.<\/p>\n<p>Frem til versjon 9.3 var SHMMAX den viktigste kjerneparameteren. Verdien av SHMMAX angis i bytes.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTilsvarende, <b>SHMALL<\/b> \u2014 er en annen kjerneparameter som brukes for \u00e5 definere <br \/>\ndet totale antallet sider av delt minne (shared memory). For \u00e5 se n\u00e5v\u00e6rende verdier av SHMMAX, SHMALL eller SHMMIN, bruk kommandoen <i>ipcs<\/i>.<\/p>\n<p><b>SHM* Detaljer \u2014 Linux<\/b><\/p>\n<pre><code class=\"bash\">$ ipcs -lm\n\n------ Grense for Delt Minne --------\nmaks antall segmenter = 4096\nmaks segmentst\u00f8rrelse (kbytes) = 1073741824\nmaks totalt delt minne (kbytes) = 17179869184\nmin segmentst\u00f8rrelse (bytes) = 1<\/code><\/pre>\n<p>\n<b>SHM* Detaljer \u2014 MacOS X<\/b><\/p>\n<pre><code class=\"bash\">$ ipcs -M\nIPC-status fra  as of Thu Aug 16 22:20:35 PKT 2018\nshminfo:\n\tshmmax: 16777216\t(maks delt minnesegment st\u00f8rrelse)\n\tshmmin:       1\t(min delt minnesegment st\u00f8rrelse)\n\tshmmni:      32\t(maks antall identifikatorer for delt minne)\n\tshmseg:       8\t(maks antall segmenter av delt minne per prosess)\n\tshmall:    1024\t(maks mengde delt minne i sider)\n<\/code><\/pre>\n<p>\nPostgreSQL bruker <b>System V IPC<\/b> for \u00e5 tildele delt minne. Denne parameteren er en av de viktigste kjerneparameterne. Hver gang du f\u00e5r f\u00f8lgende feilmeldinger, betyr det at du har en eldre versjon av PostgreSQL og at du har en veldig lav verdi for SHMMAX. Det forventes at brukere justerer og \u00f8ker verdien i henhold til det delte minnet de planlegger \u00e5 bruke.<\/p>\n<h3>Mulige feil ved feilkonfigurering<\/h3>\n<p>\nHvis SHMMAX er feil konfigurert, kan du f\u00e5 en feil n\u00e5r du fors\u00f8ker \u00e5 initialisere PostgreSQL-klyngen ved hjelp av kommandoen <i>initdb<\/i>.<\/p>\n<p><b>initdb Feil<\/b><br \/>\n<code>DETALJ: Den mislykkede systemkallet var shmget(key=1, size=2072576, 03600). <\/p>\n<p>HINT: Denne feilen betyr vanligvis at PostgreSQLs foresp\u00f8rsel om et segment av delt minne oversteg kjernens SHMMAX-parameter.\u00a0 <br \/>\nDu kan enten redusere foresp\u00f8rselst\u00f8rrelsen eller omkonfigurere kjernen med st\u00f8rre SHMMAX. For \u00e5 redusere foresp\u00f8rselst\u00f8rrelsen (for tiden 2072576 bytes), <br \/>\nreduser PostgreSQLs bruk av delt minne, kanskje ved \u00e5 redusere shared_buffers eller max_connections. <\/p>\n<p>Hvis foresp\u00f8rselst\u00f8rrelsen allerede er liten, er det mulig at den er mindre enn kjernens SHMMIN-parameter,<br \/>\ni s\u00e5 fall m\u00e5 foresp\u00f8rselst\u00f8rrelsen heves eller SHMMIN omkonfigureres. <\/p>\n<p>PostgreSQL-dokumentasjonen inneholder mer informasjon om konfigurasjon av delt minne. barneprosess avsluttet med avslutningskode 1<\/code><\/p>\n<p>P\u00e5 samme m\u00e5te kan du f\u00e5 en feil ved oppstart av PostgreSQL-serveren ved \u00e5 bruke kommandoen <i>pg_ctl<\/i>.<\/p>\n<p><b>pg_ctl-feil<\/b><br \/>\n<code>DETALJ: Den mislykkede systemanropet var shmget(key=5432001, size=14385152, 03600).<\/p>\n<p>HINT: Denne feilen betyr vanligvis at PostgreSQLs foresp\u00f8rsel om et segment av delt minne oversteg kjernens SHMMAX-parameter.<\/p>\n<p>Du kan enten redusere foresp\u00f8rselst\u00f8rrelsen eller omkonfigurere kjernen med st\u00f8rre SHMMAX.; For \u00e5 redusere foresp\u00f8rselst\u00f8rrelsen (for tiden 14385152 bytes), reduser PostgreSQLs bruk av delt minne, kanskje ved \u00e5 redusere shared_buffers eller max_connections.<\/p>\n<p>Hvis foresp\u00f8rselst\u00f8rrelsen allerede er liten, er det mulig at den er mindre enn kjernens SHMMIN-parameter, <br \/>\ni s\u00e5 fall m\u00e5 foresp\u00f8rselst\u00f8rrelsen heves eller SHMMIN omkonfigureres.<\/p>\n<p>PostgreSQL-dokumentasjonen inneholder mer informasjon om konfigurasjon av delt minne.<\/code><\/p>\n<h3>Forst\u00e5 forskjellene i definisjoner<\/h3>\n<p>\nDefinisjonen av SHMMAX\/SHMALL-parameterne varierer noe mellom Linux og MacOS X:<\/p>\n<ul>\n<li>Linux: kernel.shmmax, kernel.shmall<\/li>\n<li>MacOS X: kern.sysv.shmmax, kern.sysv.shmall<\/li>\n<\/ul>\n<p>\nLaget <i>sysctl<\/i> kan brukes til midlertidig \u00e5 endre verdien. For \u00e5 sette permanente verdier, legg til en post i <i>\/etc\/sysctl.conf<\/i>. Detaljer er gitt nedenfor.<\/p>\n<p><b>Endring av kjernens parametere p\u00e5 MacOS X<\/b><\/p>\n<pre><code class=\"plaintext\"># Get the value of SHMMAX\nsudo sysctl kern.sysv.shmmax\nkern.sysv.shmmax: 4096\n\n# Get the value of SHMALL\nsudo sysctl kern.sysv.shmall \nkern.sysv.shmall: 4096\n\n# Set the value of SHMMAX\nsudo sysctl -w kern.sysv.shmmax=16777216\nkern.sysv.shmmax: 4096 -&gt; 16777216\n\n# Set the value of SHMALL \nsudo sysctl -w kern.sysv.shmall=16777216\nkern.sysv.shmall: 4096 -&gt; 16777216<\/code><\/pre>\n<p>\n<b>Endring av kjernens parametere p\u00e5 Linux<\/b><\/p>\n<pre><code class=\"plaintext\"># Get the value of SHMMAX\nsudo sysctl kernel.shmmax\nkernel.shmmax: 4096\n\n# Get the value of SHMALL\nsudo sysctl kernel.shmall\nkernel.shmall: 4096\n\n# Set the value of SHMMAX\nsudo sysctl -w kernel.shmmax=16777216\nkernel.shmmax: 4096 -&gt; 16777216\n\n# Set the value of SHMALL \nsudo sysctl -w kernel.shmall=16777216\nkernel.shmall: 4096 -&gt; 16777216<\/code><\/pre>\n<p>\n<b>Ikke glem<\/b>: for \u00e5 gj\u00f8re endringene permanente, legg disse verdiene inn i \/etc\/sysctl.conf<\/p>\n<h2>Store sider (Huge Pages)<\/h2>\n<p>\nI Linux brukes som standard 4 KB minnesider, i BSD \u2014 <i>Super Pages<\/i>, og i Windows \u2014 <i>Large Pages<\/i>. En side er en del av RAM-en som tildeles en prosess. Prosessen kan ha flere sider avhengig av minnebehovene. Jo mer minne prosessen trenger, desto flere sider tildeles den. OSet opprettholder en sideallokerings-tabell for prosesser. Jo mindre st\u00f8rrelsen p\u00e5 en side, desto st\u00f8rre blir tabellen, og desto mer tid tar det \u00e5 finne en side i denne siden-tabellen. Derfor lar store sider deg bruke en stor mengde minne med redusert overhead; f\u00e6rre sidevisninger, f\u00e6rre sidefeil, raskere lese\/skrive-operasjoner via st\u00f8rre buffere. Som et resultat \u2014 forbedret ytelse.<\/p>\n<p>PostgreSQL st\u00f8tter store sider bare p\u00e5 Linux. Som standard bruker Linux 4 KB minnesider, s\u00e5 i tilfeller der det er for mange minneoperasjoner, m\u00e5 du sette sider av st\u00f8rre st\u00f8rrelse. Det er ytelsesforbedringer ved \u00e5 bruke store sider som er 2 MB og opp til 1 GB. St\u00f8rrelsen p\u00e5 den store siden kan settes ved oppstart. Du kan enkelt sjekke parametrene for store sider og bruken deres p\u00e5 Linux-datamaskinen din ved \u00e5 bruke kommandoen <i>cat \/proc\/meminfo | grep -i huge<\/i>.<\/p>\n<p><b>Innhenting av informasjon om store sider (bare p\u00e5 Linux)<\/b><\/p>\n<pre><code class=\"bash\">Merk: Dette er bare for Linux, for andre operativsystemer blir denne operasjonen ignorert$ cat \/proc\/meminfo | grep -i huge\nAnonHugePages:         0 kB\nShmemHugePages:        0 kB\nHugePages_Total:       0\nHugePages_Free:        0\nHugePages_Rsvd:       0\nHugePages_Surp:       0\nHugepagesize:       2048 kB<\/code><\/pre>\n<p>\nI dette eksemplet, selv om st\u00f8rrelsen p\u00e5 den store siden er satt til 2048 (2 MB), er det totale antallet store sider 0. Dette betyr at store sider er deaktivert.<\/p>\n<h3>Script for \u00e5 bestemme antall store sider<\/h3>\n<p>\nDette er et enkelt script som returnerer det n\u00f8dvendige antallet store sider. Kj\u00f8r scriptet p\u00e5 Linux-serveren din mens PostgreSQL kj\u00f8rer. Forsikre deg om at milj\u00f8variabelen <i>$PGDATA<\/i> er satt til katalogen for PostgreSQL-data.<\/p>\n<p><b>Henting av tallet for n\u00f8dvendige store sider<\/b><\/p>\n<pre><code class=\"bash\">#!\/bin\/bash\npid=`head -1 $PGDATA\/postmaster.pid`\necho \"Pid:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $pid\"\npeak=`grep ^VmPeak \/proc\/$pid\/status | awk '{ print $2 }'`\necho \"VmPeak:\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $peak kB\"\nhps=`grep ^Hugepagesize \/proc\/meminfo | awk '{ print $2 }'`\necho \"Hugepagesize:\u00a0\u00a0 $hps kB\"\nhp=$((peak\/hps))\necho Set Huge Pages:\u00a0\u00a0\u00a0\u00a0 $hp<\/code><\/pre>\n<p>\nUtdataene fra scriptet ser slik ut:<\/p>\n<p><b>Utdata fra scriptet<\/b><\/p>\n<pre><code class=\"bash\">Pid:            12737\nVmPeak:        180932 kB\nHugepagesize:   2048 kB\nSet Huge Pages: 88<\/code><\/pre>\n<p>\nAnbefalt verdi for store sider er 88, s\u00e5 du b\u00f8r sette verdien til 88.<\/p>\n<p><b>Sette store sider<\/b><\/p>\n<pre><code class=\"bash\">sysctl -w vm.nr_hugepages=88<\/code><\/pre>\n<p>\nSjekk store sider n\u00e5, du vil se at store sider ikke er i bruk (HugePages_Free = HugePages_Total).<\/p>\n<p><b>Igjen informasjon om store sider (bare p\u00e5 Linux)<\/b><\/p>\n<pre><code class=\"bash\">$ cat \/proc\/meminfo | grep -i huge\nAnonHugePages:         0 kB\nShmemHugePages:        0 kB\nHugePages_Total:      88\nHugePages_Free:       88\nHugePages_Rsvd:       0\nHugePages_Surp:       0\nHugepagesize:       2048 kB<\/code><\/pre>\n<p>\nN\u00e5 setter du parameteren huge_pages til \u00abon\u00bb i $PGDATA\/postgresql.conf og starter serveren p\u00e5 nytt.<\/p>\n<p><b>Og igjen informasjon om store sider (bare p\u00e5 Linux)<\/b><\/p>\n<pre><code class=\"bash\">$ cat \/proc\/meminfo | grep -i huge\nAnonHugePages:         0 kB\nShmemHugePages:        0 kB\nHugePages_Total:      88\nHugePages_Free:       81\nHugePages_Rsvd:       64\nHugePages_Surp:       0\nHugepagesize:       2048 kB<\/code><\/pre>\n<p>\nN\u00e5 kan du se at sv\u00e6rt f\u00e5 store sider er i bruk. La oss n\u00e5 pr\u00f8ve \u00e5 legge til noen data i databasen.<\/p>\n<p><b>Noen databasemanipuleringer for gjenbruk av store sider<\/b><\/p>\n<pre><code class=\"sql\">postgres=# CREATE TABLE foo(a INTEGER);\nCREATE TABLE\npostgres=# INSERT INTO foo VALUES(generate_Series(1,10000000));\nINSERT 0 10000000<\/code><\/pre>\n<p>\nLa oss se om vi n\u00e5 bruker flere store sider enn vi gjorde tidligere.<\/p>\n<p><b>Ny informasjon om store sider (kun p\u00e5 Linux)<\/b><\/p>\n<pre><code class=\"bash\">$ cat \/proc\/meminfo | grep -i huge\nAnonHugePages:         0 kB\nShmemHugePages:        0 kB\nHugePages_Total:      88\nHugePages_Free:       18\nHugePages_Rsvd:        1\nHugePages_Surp:       0\nHugepagesize:       2048 kB<\/code><\/pre>\n<p>\nN\u00e5 kan du se at det meste av de store sidene brukes.<\/p>\n<p>Merk: det ansl\u00e5tte tallet for HugePages som brukes her, er ganske lavt, noe som ikke er normalt for en produksjonsmaskin. Vennligst vurder hvor mange sider som trengs for systemet ditt og sett dem deretter i henhold til lasten og ressursene.<\/p>\n<h3>vm.swappiness<\/h3>\n<p>\n<b>vm.swappiness<\/b> \u2014 er et annet kjernalternativ som kan p\u00e5virke databasenes ytelse. Denne parameteren brukes til \u00e5 styre oppf\u00f8rselen til swap (swappiness) (bytte sider til og fra minnet) i Linux. Verdien varierer fra 0 til 100. Det angir hvor mye minne som vil bli dumpt eller byttet ut. Null betyr at bytting er deaktivert, mens 100 betyr aggressiv bytting.<\/p>\n<p>Du kan oppn\u00e5 god ytelse ved \u00e5 sette lavere verdier.<\/p>\n<p>\u00c5 sette verdien til 0 i nyere kjerner kan f\u00f8re til at OOM Killer (minnerengj\u00f8ringsprosessen i Linux) dreper prosessen. Derfor kan det trygt settes til 1 hvis du vil minimere bytting. Standardverdien i Linux er 60. H\u00f8yere verdi f\u00e5r MMU (minnekontrolleren) til \u00e5 bruke mer swap plass enn RAM, mens lavere verdi beholder mer data\/kode i minnet.<\/p>\n<p>Lavere verdi er en god innsats for \u00e5 forbedre ytelsen i PostgreSQL.<\/p>\n<h3>vm.overcommit_memory \/ vm.overcommit_ratio<\/h3>\n<p>\nApplikasjoner f\u00e5r minne og frigj\u00f8r det n\u00e5r det ikke lenger er n\u00f8dvendig. Men i noen tilfeller f\u00e5r applikasjonen altfor mye minne og frigj\u00f8r det ikke. Dette kan utl\u00f8se OOM killer. Her er mulige verdier for parameteren <b>vm.overcommit_memory<\/b> med beskrivelse for hver:<\/p>\n<ol>\n<li> Heuristisk overcommit (standard); kjernebassert heuristikk<\/li>\n<li> Tillat overcommit uansett<\/li>\n<li> Ikke overdrive, ikke overskrid overcommit-forholdet.<\/li>\n<\/ol>\n<p>\n<i>Lenke: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/vm\/overcommit-accounting\">https:\/\/www.kernel.org\/doc\/Documentation\/vm\/overcommit-accounting<\/a><\/noindex><\/i><\/p>\n<p><b>vm.overcommit_ratio<\/b> \u2014 prosent av minnet som er tilgjengelig for overkompensering. Verdien 50% i et system med 2 GB RAM kan tildele opptil 3 GB RAM.<\/p>\n<p>Verdien 2 for vm.overcommit_memory gir bedre ytelse for PostgreSQL. Denne verdien maksimerer bruken av RAM av serverprosessen uten betydelig risiko for \u00e5 bli drept av OOM-killer-prosessen. Applikasjonen kan starte p\u00e5 nytt, men bare innenfor overkompensasjonen, noe som reduserer risikoen for at OOM-killer dreper prosessen. Dermed gir verdien 2 bedre ytelse enn standardverdien 0. Imidlertid kan p\u00e5liteligheten forbedres da minnet utenfor den tillatte grensen ikke vil bli overkompensert. Dette eliminerer risikoen for at prosessen blir drept av OOM-killer.<\/p>\n<p>I systemer uten sidefil kan det oppst\u00e5 problemer med vm.overcommit_memory lik 2.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/static\/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT\">https:\/\/www.postgresql.org\/docs\/current\/static\/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT<\/a><\/noindex><\/p>\n<h3>vm.dirty_background_ratio \/ vm.dirty_background_bytes<\/h3>\n<p>\n<b>vm.dirty_background_ratio<\/b> \u2014 er prosentandelen av minnet fylt med skitne sider som m\u00e5 skrives til disk. Skriving til disk skjer i bakgrunnen. Verdien av denne parameteren varierer fra 0 til 100; imidlertid kan verdier under 5 v\u00e6re ineffektive, og noen kjerner st\u00f8tter dem ikke. 10 er standardverdien i de fleste Linux-systemer. Du kan forbedre ytelsen for skriveintensive operasjoner med en lavere ratio, noe som betyr at Linux vil skrive skitne sider i bakgrunnen.<\/p>\n<p>Du m\u00e5 angi verdien <b>vm.dirty_background_bytes<\/b> avhengig av hastigheten p\u00e5 disken din.<\/p>\n<p>Det finnes ingen \u201cgode\u201d verdier for disse to parameterne, da begge avhenger av maskinvaren. Imidlertid, ved \u00e5 sette vm.dirty_background_ratio til 5 og vm.dirty_background_bytes til 25% av diskhastigheten, kan ytelsen \u00f8kes med omtrent 25% i de fleste tilfeller.<\/p>\n<h3>vm.dirty_ratio \/ dirty_bytes<\/h3>\n<p>\nDet er det samme som <b>vm.dirty_background_ratio \/ dirty_background_bytes<\/b>, bortsett fra at skrivingen skjer i aktiv sesjon, og blokkerer applikasjonen. Derfor m\u00e5 vm.dirty_ratio v\u00e6re h\u00f8yere enn <b>vm.dirty_background_ratio<\/b>. Dette sikrer at bakgrunnsprosesser starter tidligere for \u00e5 unng\u00e5 maksimal blokkering av applikasjonen. Du kan justere forskjellen mellom disse to forholdene avhengig av belastningen p\u00e5 disk I\/O.<\/p>\n<h2>Resultat<\/h2>\n<p>\nDu kan konfigurere andre parametere for \u00e5 \u00f8ke ytelsen, men forbedringene vil v\u00e6re minimale og gevinstene vil ikke v\u00e6re betydelige. Vi m\u00e5 huske at ikke alle parametere gjelder for alle typer applikasjoner. Noen applikasjoner fungerer bedre n\u00e5r vi justerer visse parametere, mens andre ikke gj\u00f8r det. Du m\u00e5 finne den riktige balansen mellom konfigurasjonene av disse parameterne for den forventede arbeidsbelastningen og typen applikasjon, og n\u00e5r du konfigurerer, m\u00e5 du ogs\u00e5 ta hensyn til oppf\u00f8rselen til operativsystemet. \u00c5 justere kjernerparametere er ikke s\u00e5 enkelt som \u00e5 justere databaseparametere: her er det vanskeligere \u00e5 gi anbefalinger.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458860\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c PostgreSQL \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043b\u043e\u0445\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 \u041e\u0421 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0431\u044b\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 Linux, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:07:35+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:07:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Justeringsparametre for Linux-kjernen for optimalisering av PostgreSQL | ProHoster","description":"Optimal ytelse.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 PostgreSQL | ProHoster","og:description":"\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:07:35+00:00","article:modified_time":"2019-10-31T19:07:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35920","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 01:17:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:53:32","updated":"2026-01-22 01:17:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/35920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=35920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/35920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/26870"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=35920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=35920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=35920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}