{"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\/da\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","title":{"rendered":"Konfiguration af Linux-kerneparametre til optimering af PostgreSQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Konfiguration af Linux-kerneparametre til optimering af PostgreSQL\" src=\"\/wp-content\/uploads\/2019\/07\/a28458ff50cdc517aad71b47adab6eb3.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Optimal ydeevne for PostgreSQL afh\u00e6nger af korrekt definerede parametre i operativsystemet. D\u00e5rligt konfigurerede kerneparametre kan f\u00f8re til nedsat ydeevne for databaseserveren. Derfor er det vigtigt, at disse parametre er tilpasset databaseserveren og dens arbejdsbelastning. I dette indl\u00e6g vil vi diskutere nogle vigtige Linux kerneparametre, der kan p\u00e5virke ydeevnen for databaseserveren og m\u00e5der at konfigurere dem p\u00e5.<\/p>\n<h2>SHMMAX \/ SHMALL<\/h2>\n<p>\n<b>SHMMAX<\/b> \u2014 er et kerneparameter, der bruges til at bestemme den maksimale st\u00f8rrelse af et enkelt segment af delt hukommelse (shared memory), som en Linux-proces kan allokere. Inden version 9.2 brugte PostgreSQL System V (SysV), som kr\u00e6vede konfiguration af SHMMAX. Efter 9.2 skiftede PostgreSQL til POSIX delt hukommelse. S\u00e5 nu kr\u00e6ves der f\u00e6rre bytes af System V delt hukommelse.<\/p>\n<p>Inden version 9.3 var SHMMAX det vigtigste kerneparameter. V\u00e6rdien af SHMMAX angives i bytes.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nP\u00e5 samme m\u00e5de, <b>SHMALL<\/b> \u2014 er et andet kerneparameter, der bruges til at bestemme <br \/>\nden samlede m\u00e6ngde sider med delt hukommelse (shared memory). For at se de nuv\u00e6rende v\u00e6rdier for SHMMAX, SHMALL eller SHMMIN, brug kommandoen <i>ipcs<\/i>.<\/p>\n<p><b>SHM* Detaljer \u2014 Linux<\/b><\/p>\n<pre><code class=\"bash\">$ ipcs -lm\n\n------ Begr\u00e6nsninger for Delt Hukommelse --------\nmaks antal segmenter = 4096\nmaks segmentst\u00f8rrelse (kbytes) = 1073741824\nmaks total delt hukommelse (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  per Thu Aug 16 22:20:35 PKT 2018\nshminfo:\n\tshmmax: 16777216\t(maks delt hukommelsessegment st\u00f8rrelse)\n\tshmmin:       1\t(min delt hukommelsessegment st\u00f8rrelse)\n\tshmmni:      32\t(maks antal af delt hukommelsesidentifikatorer)\n\tshmseg:       8\t(maks antal delt hukommelsessegmenter pr. proces)\n\tshmall:    1024\t(maks m\u00e6ngde delt hukommelse i sider)\n<\/code><\/pre>\n<p>\nPostgreSQL bruger <b>System V IPC<\/b> til at allokere delt hukommelse. Dette parameter er en af de vigtigste kerneparametre. Hver gang du f\u00e5r f\u00f8lgende fejlmeddelelser, betyder det, at du har en \u00e6ldre version af PostgreSQL og et meget lavt v\u00e6rdien af SHMMAX. Det forventes, at brugerne justerer og \u00f8ger v\u00e6rdien i overensstemmelse med den delte hukommelse, de planl\u00e6gger at bruge.<\/p>\n<h3>Mulige fejl ved forkert konfiguration<\/h3>\n<p>\nHvis SHMMAX ikke er korrekt konfigureret, kan du f\u00e5 en fejl, n\u00e5r du fors\u00f8ger at initialisere en PostgreSQL-klynge med kommandoen <i>initdb<\/i>.<\/p>\n<p><b>initdb Fejl<\/b><br \/>\n<code>DETAIL: Den fejlede systemopkald var shmget(key=1, size=2072576, 03600). <\/p>\n<p>HINT: Denne fejl betyder normalt, at PostgreSQLs anmodning om et delt hukommelsessegment oversteg din kerne SHMMAX parameter.\u00a0 <br \/>\nDu kan enten reducere anmodningsst\u00f8rrelsen eller omkonfigurere kernen med en st\u00f8rre SHMMAX. For at reducere anmodningsst\u00f8rrelsen (i \u00f8jeblikket 2072576 bytes), <br \/>\nreducer PostgreSQLs brugerdefinerede hukommelsesforbrug, muligvis ved at reducere shared_buffers eller max_connections. <\/p>\n<p>Hvis anmodningsst\u00f8rrelsen allerede er lille, er det muligt, at den er mindre end din kernes SHMMIN-parameter,<br \/>\ni hvilket tilf\u00e6lde det er n\u00f8dvendigt at h\u00e6ve anmodningsst\u00f8rrelsen eller omkonfigurere SHMMIN. <\/p>\n<p>PostgreSQL-dokumentationen indeholder flere oplysninger om konfiguration af delt hukommelse. Barnprocessen afsluttede med exit-kode 1<\/code><\/p>\n<p>P\u00e5 samme m\u00e5de kan du f\u00e5 en fejl, n\u00e5r du starter PostgreSQL-serveren ved at bruge kommandoen <i>pg_ctl<\/i>.<\/p>\n<p><b>pg_ctl Fejl<\/b><br \/>\n<code>DETALJER: Den mislykkedes systemopkald var shmget(key=5432001, size=14385152, 03600).<\/p>\n<p>HINT: Denne fejl betyder normalt, at PostgreSQLs anmodning om et delt hukommelsessegment oversteg din kerne SHMMAX parameter.<\/p>\n<p>Du kan enten reducere anmodningsst\u00f8rrelsen eller omkonfigurere kernen med en st\u00f8rre SHMMAX.; For at reducere anmodningsst\u00f8rrelsen (i \u00f8jeblikket 14385152 bytes), reducer PostgreSQLs brugerdefinerede hukommelsesforbrug, muligvis ved at reducere shared_buffers eller max_connections.<\/p>\n<p>Hvis anmodningsst\u00f8rrelsen allerede er lille, er det muligt, at den er mindre end din kernes SHMMIN-parameter, <br \/>\ni hvilket tilf\u00e6lde det er n\u00f8dvendigt at h\u00e6ve anmodningsst\u00f8rrelsen eller omkonfigurere SHMMIN.<\/p>\n<p>PostgreSQL-dokumentationen indeholder flere oplysninger om konfiguration af delt hukommelse.<\/code><\/p>\n<h3>Forst\u00e5else af forskellene i definitionerne<\/h3>\n<p>\nDefinitionen af SHMMAX\/SHMALL-parameterne adskiller sig lidt i Linux og MacOS X:<\/p>\n<ul>\n<li>Linux: kernel.shmmax, kernel.shmall<\/li>\n<li>MacOS X: kern.sysv.shmmax, kern.sysv.shmalloc<\/li>\n<\/ul>\n<p>\nKommandoen <i>sysctl<\/i> kan bruges til midlertidigt at \u00e6ndre v\u00e6rdien. For at indstille permanente v\u00e6rdier skal du tilf\u00f8je en post i <i>\/etc\/sysctl.conf<\/i>. Flere detaljer er givet nedenfor.<\/p>\n<p><b>\u00c6ndring af kernelparametre 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>\u00c6ndring af kernelparametre 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>Husk at<\/b>: for at g\u00f8re \u00e6ndringerne permanente, skal du tilf\u00f8je disse v\u00e6rdier til \/etc\/sysctl.conf<\/p>\n<h2>Store sider (Huge Pages)<\/h2>\n<p>\nI Linux bruges som standard hukommelsessider p\u00e5 4 KB, i BSD \u2014 <i>Super Pages<\/i>, og i Windows \u2014 <i>Large Pages<\/i>. En side er en del af det direkte hukommelse, der er tildelt en proces. En proces kan have flere sider afh\u00e6ngigt af hukommelseskravene. Jo mere hukommelse processen kr\u00e6ver, jo flere sider tildeles den. OS underst\u00f8tter en tildelingsoversigt for sider til processer. Jo mindre st\u00f8rrelsen p\u00e5 siden er, jo st\u00f8rre er tabellen, og jo mere tid tager det at finde siden i denne sideoversigt. Derfor g\u00f8r store sider det muligt at bruge store m\u00e6ngder hukommelse med reducerede omkostninger; f\u00e6rre sidevisninger, f\u00e6rre sidfejl, hurtigere l\u00e6se-\/skriveoperationer via st\u00f8rre buffere. Som resultat \u2014 forbedring af ydeevnen.<\/p>\n<p>PostgreSQL underst\u00f8tter store sider kun p\u00e5 Linux. Som standard bruger Linux 4 KB hukommelsessider, s\u00e5 i tilf\u00e6lde, hvor der er mange hukommelsesoperationer, er det n\u00f8dvendigt at indstille st\u00f8rre sider. Der kan observeres en pr\u00e6stationsfor\u00f8gelse ved brug af store sider p\u00e5 2 MB og op til 1 GB. St\u00f8rrelsen p\u00e5 en stor side kan indstilles ved opstart. Du kan nemt kontrollere indstillingerne for store sider og deres anvendelse p\u00e5 din Linux-computer ved at bruge kommandoen <i>cat \/proc\/meminfo | grep -i huge<\/i>.<\/p>\n<p><b>Hentning af information om store sider (kun p\u00e5 Linux)<\/b><\/p>\n<pre><code class=\"bash\">Bem\u00e6rk: Dette er kun for Linux, for andre OS ignoreres denne handling$ 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 eksempel, selvom st\u00f8rrelsen p\u00e5 den store side er indstillet til 2048 (2 MB), er det samlede antal store sider 0. Det betyder, at store sider er deaktiveret.<\/p>\n<h3>Script til at bestemme antallet af store sider<\/h3>\n<p>\nDette er et enkelt script, der returnerer det n\u00f8dvendige antal store sider. K\u00f8r scriptet p\u00e5 din Linux-server, mens PostgreSQL k\u00f8rer. S\u00f8rg for at milj\u00f8variablen <i>$PGDATA<\/i> angiver PostgreSQL-datakatalogen.<\/p>\n<p><b>Hentning af det kr\u00e6vede antal 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>\nScriptudgangen ser s\u00e5ledes ud:<\/p>\n<p><b>Scriptudgangen<\/b><\/p>\n<pre><code class=\"bash\">Pid: 12737\nVmPeak: 180932 kB\nHugepagesize: 2048 kB\nSet Huge Pages: 88<\/code><\/pre>\n<p>\nDet anbefalede antal store sider er 88, s\u00e5 du skal indstille v\u00e6rdien til 88.<\/p>\n<p><b>Indstilling af store sider<\/b><\/p>\n<pre><code class=\"bash\">sysctl -w vm.nr_hugepages=88<\/code><\/pre>\n<p>\nTjek store sider nu, og du vil se, at store sider ikke bruges (HugePages_Free = HugePages_Total).<\/p>\n<p><b>Igen information 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: 88\nHugePages_Rsvd: 0\nHugePages_Surp: 0\nHugepagesize: 2048 kB<\/code><\/pre>\n<p>\nNu skal du indstille parameteren huge_pages \"on\" i $PGDATA\/postgresql.conf og genstarte serveren.<\/p>\n<p><b>Igen information 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: 81\nHugePages_Rsvd: 64\nHugePages_Surp: 0\nHugepagesize: 2048 kB<\/code><\/pre>\n<p>\nNu kan du se, at der bruges meget f\u00e5 store sider. Lad os nu pr\u00f8ve at tilf\u00f8je nogle data til databasen.<\/p>\n<p><b>Nogle databaseoperationer til h\u00e5ndtering af store sider<\/b><\/p>\n<pre><code class=\"sql\">postgres=# Opret TABELO foo(a INTEGER);\nOpret TABEL\npostgres=# Inds\u00e6t i foo VALUES(generate_Series(1,10000000));\nINDs\u00e6t 0 10000000<\/code><\/pre>\n<p>\nLad os se, om vi i \u00f8jeblikket bruger flere store sider end f\u00f8r.<\/p>\n<p><b>Her er igen oplysninger 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>\nNu kan du se, at de fleste store sider er i brug.<\/p>\n<p>Bem\u00e6rk: Den omtrentlige v\u00e6rdi for HugePages, der bruges her, er meget lav, hvilket ikke er et normalt niveau for en produktionsmaskine. Vurder venligst det n\u00f8dvendige antal sider til dit system, og indstil dem i overensstemmelse hermed, afh\u00e6ngigt af belastning og ressourcer.<\/p>\n<h3>vm.swappiness<\/h3>\n<p>\n<b>vm.swappiness<\/b> \u2014 er en anden kerneparameter, der kan p\u00e5virke databaseydelsen. Denne parameter bruges til at styre udvekslingsadf\u00e6rden (swappiness) (udveksling af sider til og fra hukommelsen) i Linux. V\u00e6rdien varierer fra 0 til 100. Den definerer, hvor meget hukommelse der vil blive udpumpet eller udfaset. Nul betyder deaktivering af udveksling, mens 100 betyder aggressiv udveksling.<\/p>\n<p>Du kan opn\u00e5 god ydeevne ved at indstille lavere v\u00e6rdier.<\/p>\n<p>Indstilling af v\u00e6rdien 0 i nyere kerner kan medf\u00f8re, at OOM Killer (hukommelsesrensningsprocessen i Linux) dr\u00e6ber processen. Derfor kan du sikkert indstille v\u00e6rdien til 1, hvis du vil minimere udvekslingen. Standardv\u00e6rdien i Linux er 60. En h\u00f8jere v\u00e6rdi f\u00e5r MMU (hukommelseskontrolblok) til at bruge mere udvekslingsplads end RAM, mens en lavere v\u00e6rdi bevarer flere data\/kode i hukommelsen.<\/p>\n<p>En lavere v\u00e6rdi er et godt valg for at forbedre ydeevnen i PostgreSQL.<\/p>\n<h3>vm.overcommit_memory \/ vm.overcommit_ratio<\/h3>\n<p>\nApplikationer f\u00e5r hukommelse og frigiver den, n\u00e5r den ikke l\u00e6ngere er n\u00f8dvendig. Men i nogle tilf\u00e6lde f\u00e5r applikationen for meget hukommelse og frigiver den ikke. Dette kan udl\u00f8se OOM killer. Her er mulige v\u00e6rdier for parameteren <b>vm.overcommit_memory<\/b> med beskrivelse for hver:<\/p>\n<ol>\n<li> Heuristisk overcommit (standard); kernebaseret heuristik<\/li>\n<li> Tillad overcommit under alle omst\u00e6ndigheder<\/li>\n<li> Overcommit ikke for meget, overskrid ikke overcommit-forholdet.<\/li>\n<\/ol>\n<p>\n<i>Link: <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 procent af RAM, der er tilg\u00e6ngelig til overdreven belastning. En v\u00e6rdi p\u00e5 50% i et system med 2 GB RAM kan allokere op til 3 GB RAM.<\/p>\n<p>V\u00e6rdi 2 for vm.overcommit_memory sikrer bedre ydeevne for PostgreSQL. Denne v\u00e6rdi maksimerer brugen af RAM af serverprocessen uden betydelig risiko for at blive dr\u00e6bt af OOM-killer-processen. Applikationen kan genstartes, men kun inden for rammerne af overforbruget, hvilket mindsker risikoen for, at OOM-killer dr\u00e6ber processen. Derfor giver v\u00e6rdi 2 bedre ydeevne end standardv\u00e6rdien 0. Dog kan p\u00e5lideligheden forbedres ved at undg\u00e5, at hukommelse uden for det acceptable omr\u00e5de bliver overbelastet. Dette udelukker risikoen for, at processen bliver dr\u00e6bt af OOM-killer.<\/p>\n<p>I systemer uden swap kan der opst\u00e5 problemer med vm.overcommit_memory, der er sat til 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 procentdelen af hukommelse, der er fyldt med beskidte sider, som skal skrives til disk. Skylning til disk sker i baggrunden. V\u00e6rdien af denne parameter varierer fra 0 til 100; dog kan v\u00e6rdier under 5 v\u00e6re ineffektive, og nogle kerner underst\u00f8tter dem ikke. 10 er standardv\u00e6rdien i de fleste Linux-systemer. Du kan forbedre ydeevnen for I\/O-intensive operationer med en lavere koefficient, hvilket betyder, at Linux vil skylle beskidte sider i baggrunden.<\/p>\n<p>Du skal indstille v\u00e6rdien <b>vm.dirty_background_bytes<\/b> afh\u00e6ngigt af hastigheden p\u00e5 din disk.<\/p>\n<p>Der er ingen 'gode' v\u00e6rdier for disse to parametre, da begge afh\u00e6nger af hardwaren. Dog \u00f8ger indstillingen af vm.dirty_background_ratio til 5 og vm.dirty_background_bytes til 25% af diskens hastighed ydeevnen med omkring 25% i de fleste tilf\u00e6lde.<\/p>\n<h3>vm.dirty_ratio \/ dirty_bytes<\/h3>\n<p>\nDette er det samme som <b>vm.dirty_background_ratio \/ dirty_background_bytes<\/b>, bortset fra at skylningen udf\u00f8res i den aktive session, hvilket blokerer applikationen. Derfor skal vm.dirty_ratio v\u00e6re h\u00f8jere end <b>vm.dirty_background_ratio<\/b>. Dette sikrer, at baggrundsprocesser starter tidligere for at undg\u00e5 maksimal blokering af applikationen. Du kan justere forskellen mellem disse to forhold afh\u00e6ngigt af belastningen p\u00e5 disk I\/O.<\/p>\n<h2>Resultat<\/h2>\n<p>\nDu kan justere andre indstillinger for at \u00f8ge ydeevnen, men forbedringerne vil v\u00e6re minimale, og du vil ikke f\u00e5 nogen v\u00e6sentlige fordele. Vi skal huske, at ikke alle indstillinger g\u00e6lder for alle applikationstyper. Nogle applikationer fungerer bedre, n\u00e5r vi justerer visse indstillinger, mens andre ikke g\u00f8r. Du skal finde den rette balance mellem konfigurationerne af disse indstillinger for den forventede arbejdsbelastning og applikationstypen, og samtidig skal du tage hensyn til operativsystemets adf\u00e6rd. At justere kerneindstillingerne er ikke s\u00e5 enkelt som at justere databaseindstillingerne: det er vanskeligere at give anbefalinger her.<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.3 - 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\/da\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Justering af Linux-kerneindstillinger til optimering af PostgreSQL | ProHoster","description":"Optimal ydeevne.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/nastrojka-parametrov-yadra-linux-dlya-optimizatsii-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/35920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/26870"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}