@ads:
- Wert aus dem ratio ist 10, soll ich diesen Wert nun auf 0 setzen?
- Ich habe folgendes in meiner ini:Code:Koenig-DB:~ # cat /proc/sys/vm/dirty_background_ratio 10
Wo finde ich aber nun diese dateien? Oder logt er nun das jeweils eine temporäre Datei angelegt wurde???Code:log_temp_files = 0 # log temporary files equal or larger # than the specified size in kilobytes; # -1 disables, 0 logs all temp files
- Was wäre ein besserer Wert für shared_mem ?
Und schau, dass Memory Overcommit ausgeschaltet ist.- Ich nehme an ich muss den Wert auf 2 stellen? (5.3.9.5.Â*/proc/sys/vm/) 2 — The kernel fails requests for memory that add up to all of swap plus the percent of physical RAM specified in /proc/sys/vm/overcommit_ratio. This setting is best for those who desire less risk of memory overcommitment.Code:Koenig-DB:~ # cat /proc/sys/vm/overcommit_memory 0
@akretschmer:
wegen des auto_explain Features...
Ich habe meine ini jetzt wie folgt angepasst:
mein Log sieht jetzt aber ganz schön komisch aus:Code:shared_preload_libraries = 'auto_explain' log_destination = 'stderr' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_truncate_on_rotation = on log_rotation_age = 3d log_rotation_size = 0 silent_mode = on client_min_messages = notice log_min_messages = notice log_min_error_statement = error log_min_duration_statement = 2500 log_checkpoints = on log_connections = on log_disconnections = on log_duration = on log_hostname = on log_line_prefix = '%t %h ' log_temp_files = 0 update_process_title = on log_statement_stats = off custom_variable_classes = 'auto_explain' auto_explain.log_min_duration = '5s'
Das ist alles zwischendurch habe ich dann folgendes:Code:2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.050 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.180 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.050 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.180 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.147 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.346 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.404 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.331 ms 2010-03-02 10:32:33 CET 140.100.100.252 LOG: Dauer: 0.295 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.213 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.404 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.403 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.331 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.296 ms 2010-03-02 10:32:34 CET 140.100.100.252 LOG: Dauer: 0.050 ms
Ich habe das gefühl ich logge zu viele dateien?Code:2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 0.079 ms 2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 0.600 ms 2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 0.621 ms 2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 0.051 ms 2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 406.807 ms 2010-03-02 10:32:23 CET 140.100.100.252 LOG: Dauer: 5.630 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: temporäre Datei: Pfad »base/pgsql_tmp/pgsql_tmp17307.2«, Größe 6884796 2010-03-02 10:32:24 CET 140.100.100.252 ANWEISUNG: declare "SQL_CUR05F4B2B8" cursor with hold for SELECT count(*) FROM V_KUNDE a WHERE (Upper(SKUNDEIDENT) like 'ACKER%' or Upper(SNAME1) like 'ACKER%' or Upper(SNAME2) like 'ACKER%' or Upper(SNAME3) like 'ACKER%' or Upper(SSTRASSE) like 'ACKER%' or Upper(SORT) like 'ACKER%' or Upper(STELEFON1) like 'ACKER%' or Upper(STELEFON1) like 'ACKER%' or Upper(SMOBILTELEFON) like 'ACKER%' or Upper(STELEFAX) like 'ACKER%' ) and (Upper(SKUNDEIDENT) like '%MARGIT%' or Upper(SNAME1) like '%MARGIT%' or Upper(SNAME2) like '%MARGIT%' or Upper(SNAME3) like '%MARGIT%' or Upper(SSTRASSE) like '%MARGIT%' or Upper(SORT) like '%MARGIT%' or Upper(STELEFON1) like '%MARGIT%' or Upper(STELEFON1) like '%MARGIT%' or Upper(SMOBILTELEFON) like '%MARGIT%' or Upper(STELEFAX) like '%MARGIT%' ) AND ( ( skundegesperrt = '0' ) OR ( skundegesperrt IS NULL ) ) and NMANDANTKEY = 1 ;fetch 20000 in "SQL_CUR05F4B2B8" 2010-03-02 10:32:24 CET 140.100.100.252 LOG: temporäre Datei: Pfad »base/pgsql_tmp/pgsql_tmp17307.3«, Größe 912802 2010-03-02 10:32:24 CET 140.100.100.252 ANWEISUNG: declare "SQL_CUR05F4B2B8" cursor with hold for SELECT count(*) FROM V_KUNDE a WHERE (Upper(SKUNDEIDENT) like 'ACKER%' or Upper(SNAME1) like 'ACKER%' or Upper(SNAME2) like 'ACKER%' or Upper(SNAME3) like 'ACKER%' or Upper(SSTRASSE) like 'ACKER%' or Upper(SORT) like 'ACKER%' or Upper(STELEFON1) like 'ACKER%' or Upper(STELEFON1) like 'ACKER%' or Upper(SMOBILTELEFON) like 'ACKER%' or Upper(STELEFAX) like 'ACKER%' ) and (Upper(SKUNDEIDENT) like '%MARGIT%' or Upper(SNAME1) like '%MARGIT%' or Upper(SNAME2) like '%MARGIT%' or Upper(SNAME3) like '%MARGIT%' or Upper(SSTRASSE) like '%MARGIT%' or Upper(SORT) like '%MARGIT%' or Upper(STELEFON1) like '%MARGIT%' or Upper(STELEFON1) like '%MARGIT%' or Upper(SMOBILTELEFON) like '%MARGIT%' or Upper(STELEFAX) like '%MARGIT%' ) AND ( ( skundegesperrt = '0' ) OR ( skundegesperrt IS NULL ) ) and NMANDANTKEY = 1 ;fetch 20000 in "SQL_CUR05F4B2B8" 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 466.879 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.105 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 12.146 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.098 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.308 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.240 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.061 ms 2010-03-02 10:32:24 CET 140.100.100.252 LOG: Dauer: 0.232 ms
Irgendwie fehlt bei diesen Logeinträgen die Anzeige was geloggt wird.
Ich finde nirgends ein Explain Analyze ergebnis von dem 'auto_explain'.
Kommen die tausend Logs ohne Meldung daher: "log_temp_files = 0"? Sollte ich den mal auf einen größeren Wert setzen? Was wäre hier vernünftig?
Langsam, eines nach dem anderen.
Also, OverCommit sollte auf einem Server aus sein. Ansonsten vergibt das OS mehr Speicher, als es effektiv hat.
Das Background Dirty Ratio sollte dein I/O Verhalten speziell bei Checkpoints verbessern, erst Recht bei der großen Menge an Shared Mem, die du eingestellt hast.
Der Parameter loggt wirklich nur die temp Files, die angelegt werden. Es gibt noch eine Einstellung, die die Größe temporärer Dateien festlegt - bzw. ab wann in temporäre Dateien ausgelagert wird.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
@ads:
So?Also, OverCommit sollte auf einem Server aus sein.
Code:Test-DB-84:~ # cat /proc/sys/vm/overcommit_memory 2
Auf welchen wert sollte ich ihn setzen? Auf 0 ?Das Background Dirty Ratio sollte dein I/O Verhalten speziell bei Checkpoints verbessern...
@akretschmer:
ich habe jetzt folgendes eingestellt:
hoffe dass ich jetzt nicht mehr so viele nichtsaussagende logs bekomme. Das kann aber nichts mit der Einstellung "log_temp_files = 0 " zu tun haben oder?Code:log_checkpoints = on log_connections = on log_disconnections = on #log_duration = off log_hostname = on
Wegen des "auto_explain":
wenn ich das Besipiel wie hier beschrieben mache:
PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: auto_explain
sieht es bei mir so aus:
Code:Koenig-DB:~ # su postgres postgres@Koenig-DB:/root> psql could not change directory to "/root" psql (8.4.2) Type "help" for help. postgres=# \c mo_koenig psql (8.4.2) You are now connected to database "mo_koenig". mo_koenig=# LOAD 'auto_explain'; LOAD mo_koenig=# SET auto_explain.log_min_duration = 0; SET mo_koenig=# SELECT count(*) FROM pg_class, pg_index WHERE oid = indrelid AND mo_koenig-# indisunique; count ------- 353 (1 row) mo_koenig=#
Muss ich noch mal nachschauen, auf der Cebit ist hier wenig Zeit, weil ständig Leute nachfragen. Im Prinzip musst du bloß schauen, dass das ausgeschaltet ist.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
@ads , @akretschmar:
sind kurzfristige Schulungstermine verfügbar?
akretschmEr bitte, so viel Zeit muß sein ;-)
CLT2010 · Details zum Beitrag
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hallo akretschmEr
Du hast private Post...
Hallo ads
Du hast auch private Post...
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen