zoozool 0 Zgłoś post Napisano Grudzień 28, 2008 Witajcie proszę o pomoc w optymalizacji mysql, serwer szaleje, czasem zużywa 60% procka load wzrasta do 10 Konfiguracja: ./mysqltuner.pl >> MySQLTuner 1.0.0 - Major Hayden <major@mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering -------- General Statistics -------------------------------------------------- [--] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.0.67-log [OK] Operating on 64-bit architecture -------- Storage Engine Statistics ------------------------------------------- [--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [--] Data in MyISAM tables: 387M (Tables: 218) [--] Data in InnoDB tables: 24M (Tables: 5) [!!] Total fragmented tables: 25 -------- Performance Metrics ------------------------------------------------- [--] Up for: 9m 47s (7K q [12.656 qps], 506 conn, TX: 60M, RX: 1M) [--] Reads / Writes: 69% / 31% [--] Total buffers: 106.0M global + 4.4M per thread (200 max threads) [!!] Maximum possible memory usage: 993.5M (102% of installed RAM) [OK] Slow queries: 0% (5/7K) [OK] Highest usage of available connections: 3% (7/200) [OK] Key buffer size / total MyISAM indexes: 16.0M/122.8M [OK] Key buffer hit rate: 99.7% (1M cached / 3K reads) [OK] Query cache efficiency: 32.5% (1K cached / 4K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 599 sorts) [!!] Temporary tables created on disk: 41% (141 on disk / 340 total) [OK] Thread cache hit rate: 98% (7 created / 506 connections) [OK] Table cache hit rate: 93% (104 open / 111 opened) [OK] Open file limit used: 5% (190/3K) [OK] Table locks acquired immediately: 99% (4K immediate / 4K locks) [!!] InnoDB data size / buffer pool: 24.9M/8.0M -------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance MySQL started within last 24 hours - recommendations may be inaccurate Reduce your overall MySQL memory footprint for system stability When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries without LIMIT clauses Variables to adjust: *** MySQL's maximum memory usage is dangerously high *** *** Add RAM before increasing MySQL buffer variables *** tmp_table_size (> 64M) max_heap_table_size (> 16M) innodb_buffer_pool_size (>= 24M) [mysqld]default-character-set=latin2 init-connect = "SET NAMES latin2" language=polish skip-bdb #skip-innodb max_connections = 200 max_user_connections = 10 key_buffer = 16M myisam_sort_buffer_size = 54M join_buffer_size = 1M read_buffer_size = 1M sort_buffer_size = 2M table_cache = 1500 thread_cache_size = 128 wait_timeout = 20 connect_timeout = 10 tmp_table_size = 64M max_allowed_packet = 16M max_connect_errors = 99999 query_cache_limit = 2M query_cache_size = 64M query_cache_type = 1 query_prealloc_size = 16384 query_alloc_block_size = 16384 tmpdir=/tmp #myisam-recover local-infile=0 thread_concurrency = 4 set-variable = long_query_time=3 log-slow-queries = /home/mysql/log-slow-queries.log [mysqld_safe] open_files_limit = 8192 [mysqldump] quick max_allowed_packet = 10M [myisamchk] key_buffer = 64M sort_buffer = 64M read_buffer = 16M write_buffer = 16M [client] default-character-set=latin2 AMD Athlon X2 4200+ 1 GB RAM DDR Debian Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość N3T5kY Zgłoś post Napisano Grudzień 29, 2008 Run OPTIMIZE TABLE to defragment tables for better performance uruchom zapytanie OPTIMIZE TABLE MySQL started within last 24 hours - recommendations may be inaccurate serwer mysql działa krócej niż 48h - uruchom skrypt po 48h działania mysql Reduce your overall MySQL memory footprint for system stability ogranicz zużycie ramu dla mysql When making adjustments, make tmp_table_size/max_heap_table_size equal tmp_table_size max_heap_table_size ustaw taką samą wartość dla tych zmiennych *** MySQL's maximum memory usage is dangerously high *** maksymalne użycie pamiecu jest za duże *** Add RAM before increasing MySQL buffer variables *** dodaj ramu tmp_table_size (> 64M) max_heap_table_size (> 16M) innodb_buffer_pool_size (>= 24M) wartości do zmiany czasem zużywa 60% procka Mysql tyle zjada czy jakiś inny proces? Udostępnij ten post Link to postu Udostępnij na innych stronach
BlueMan 69 Zgłoś post Napisano Grudzień 29, 2008 LOL Jak uruchomiłem u siebie to: [!!] Maximum possible memory usage: 37.9G (3071% of installed RAM) Udostępnij ten post Link to postu Udostępnij na innych stronach
zoozool 0 Zgłoś post Napisano Grudzień 29, 2008 tmp_table_size (> 64M)max_heap_table_size (> 16M) innodb_buffer_pool_size (>= 24M) pierwszą wartość ustawiłem na 100 innych nie mam w confingu, dodać je mam ? ./mysqltuner.pl >> MySQLTuner 1.0.0 - Major Hayden <major@mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering -------- General Statistics -------------------------------------------------- [--] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.0.67-log [OK] Operating on 64-bit architecture -------- Storage Engine Statistics ------------------------------------------- [--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [--] Data in MyISAM tables: 389M (Tables: 218) [--] Data in InnoDB tables: 24M (Tables: 5) [!!] Total fragmented tables: 28 -------- Performance Metrics ------------------------------------------------- [--] Up for: 1d 7h 12m 3s (1M q [11.798 qps], 96K conn, TX: 4B, RX: 173M) [--] Reads / Writes: 62% / 38% [--] Total buffers: 106.0M global + 4.4M per thread (200 max threads) [!!] Maximum possible memory usage: 993.5M (102% of installed RAM) [OK] Slow queries: 0% (1K/1M) [OK] Highest usage of available connections: 8% (17/200) [OK] Key buffer size / total MyISAM indexes: 16.0M/122.9M [OK] Key buffer hit rate: 100.0% (199M cached / 78K reads) [OK] Query cache efficiency: 39.2% (269K cached / 687K selects) [!!] Query cache prunes per day: 59888 [OK] Sorts requiring temporary tables: 0% (210 temp sorts / 79K sorts) [!!] Temporary tables created on disk: 42% (22K on disk / 52K total) [OK] Thread cache hit rate: 99% (17 created / 96K connections) [OK] Table cache hit rate: 93% (1K open / 1K opened) [OK] Open file limit used: 54% (1K/3K) [OK] Table locks acquired immediately: 99% (680K immediate / 681K locks) [!!] InnoDB data size / buffer pool: 24.9M/8.0M -------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance Reduce your overall MySQL memory footprint for system stability When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries without LIMIT clauses Variables to adjust: *** MySQL's maximum memory usage is dangerously high *** *** Add RAM before increasing MySQL buffer variables *** query_cache_size (> 64M) tmp_table_size (> 64M) max_heap_table_size (> 16M) innodb_buffer_pool_size (>= 24M) ogranicz zużycie ramu dla mysql jak ? dodaj ramu tongue.gif się pomyśli o tym uruchom zapytanie OPTIMIZE TABLE #1064 - Something is wrong in your syntax obok '' w linii 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
BlueMan 69 Zgłoś post Napisano Grudzień 29, 2008 Bo dla każdej tabeli trzeba osobno wykonywać ta optymalizację Udostępnij ten post Link to postu Udostępnij na innych stronach
mario1973 0 Zgłoś post Napisano Styczeń 3, 2009 hm...chyba muszę tez 'przelecieć' tym swoje serwery - tylko małe pytanie : Czy skrypt tylko zbiera i obrabia dane, czy może też coś zmodyfikować ? Nie chciałbym, żeby mi coś schrzanił. M Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość N3T5kY Zgłoś post Napisano Styczeń 3, 2009 Ten skrypt jest bezpieczny. A tak pozatym to chyba robisz kopię ;>? Udostępnij ten post Link to postu Udostępnij na innych stronach
mario1973 0 Zgłoś post Napisano Styczeń 4, 2009 Ten skrypt jest bezpieczny. to fajnie A tak pozatym to chyba robisz kopię ;>? kopie ? raz na dobę bazy zlatują mi z wszystkich serwerów. Ale wiesz - wolę zapobiegać niż leczyć - odtwarzanie z kopi, to zawsze trochę pracy , to też duże straty na serwisach - np. kilkaset postów na forach itp itd. M Udostępnij ten post Link to postu Udostępnij na innych stronach
mario1973 0 Zgłoś post Napisano Styczeń 4, 2009 Zapuściłem skrypt - mam co dokonfigurować, ale mam też małą kwestię.... Na dwóch maszynach mam 8G ramu z odpowiednim kernelem 32 bit. Dostaję info ze skryptu : Switch to 64-bit OS - MySQL cannot currently use all of your RAM Czy mogą pojawić się jakieś problemy ? M Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość N3T5kY Zgłoś post Napisano Styczeń 5, 2009 Z tego co wiem to wersja linuxów i686 potrafi wykryć 8GB ram Zapodaj wynik polecenia: free -m Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Styczeń 5, 2009 Z tego co wiem to wersja linuxów i686 potrafi wykryć 8GB ram Zapodaj wynik polecenia: 32 bitowa? Była kiedyś głębsza rozmowa o tym. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Styczeń 5, 2009 Z PAE system może zaadresować 64 GB pamięci. Udostępnij ten post Link to postu Udostępnij na innych stronach
mario1973 0 Zgłoś post Napisano Styczeń 5, 2009 Z PAE system może zaadresować 64 GB pamięci. OK, to że system może adresować, to wiem, tylko zastanowił mnie sam Mysql. Myślałem, że Mysql może mieć problem z pracą na systemie 32 bit i 8 M (zgodnie z komuinkatem z mysqltuner.pl M Udostępnij ten post Link to postu Udostępnij na innych stronach
tryme 0 Zgłoś post Napisano Styczeń 6, 2009 Na dwóch maszynach mam 8G ramu z odpowiednim kernelem 32 bit. Dostaję info ze skryptu : Switch to 64-bit OS - MySQL cannot currently use all of your RAM Na 32bitowym systemie jeden proces może maksymalnie zająć 2,5GB pamięci RAM (czyt. The #1 mistake hosting providers make for MySQL servers). Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość N3T5kY Zgłoś post Napisano Styczeń 6, 2009 2,5GB to może nie być nawet 50% jego ogólnej objętości mysql`a Udostępnij ten post Link to postu Udostępnij na innych stronach
mario1973 0 Zgłoś post Napisano Styczeń 8, 2009 2,5GB to może nie być nawet 50% jego ogólnej objętości mysql`a trochę brakuje do 2,5GB , ale lepiej być przygotowanym. M Udostępnij ten post Link to postu Udostępnij na innych stronach