Skocz do zawartości
XQS

Optymalizacja pliku my.cnf

Polecane posty

Witam!

 

Mam VPS pod forum.

 

2Ghz CPU

2GB Gwar/ 4GB Brust - RAM

 

Zainstalowane lighttpd i mysql 5.1

System: Debian 5 64bit

Baza ma okolo 550mb

 

Chciałbym zoptymalizować moj my.cnf pod moje ustawienia.

 

 

[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
language	= /usr/share/mysql/english
skip-external-locking

bind-address		= 127.0.0.1
#
# * Fine Tuning
#
key_buffer		= 128M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size	   = 32

myisam-recover		 = BACKUP
#max_connections		= 100
table_cache			= 512
#thread_concurrency	 = 10

query_cache_limit	= 1M
query_cache_size		= 64M

# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file		= /var/log/mysql/mysql.log
#general_log			 = 1

# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.

#log_slow_queries	= /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes

#server-id		= 1
#log_bin			= /var/log/mysql/mysql-bin.log
expire_logs_days	= 10
max_binlog_size		 = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name

# * InnoDB

# chroot = /var/lib/mysql/

# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer= 64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

!includedir /etc/mysql/conf.d/

 

 

Czy takie ustawienia mogą być ? Czy coś zmienić, zależy mi na wydajnosci. narazie zajete mam 600 RAM

<img>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wynik:

 

 

 

 

 >>  MySQLTuner 1.2.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
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: 

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.49-3
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster 
[--] Data in MyISAM tables: 439M (Tables: 202)
[!!] InnoDB is enabled but isn't being used
[!!] Total fragmented tables: 23

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 21h 33m 41s (576K q [7.422 qps], 31K conn, TX: 25B, RX: 570M)
[--] Reads / Writes: 54% / 46%
[--] Total buffers: 218.0M global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 623.8M (15% of installed RAM)
[OK] Slow queries: 0% (0/576K)
[OK] Highest usage of available connections: 3% (5/151)
[OK] Key buffer size / total MyISAM indexes: 128.0M/96.7M
[OK] Key buffer hit rate: 99.8% (112M cached / 200K reads)
[OK] Query cache efficiency: 56.6% (200K cached / 353K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (10 temp sorts / 20K sorts)
[!!] Temporary tables created on disk: 34% (3K on disk / 9K total)
[OK] Thread cache hit rate: 99% (5 created / 31K connections)
[!!] Table cache hit rate: 15% (174 open / 1K opened)
[OK] Open file limit used: 26% (315/1K)
[OK] Table locks acquired immediately: 99% (446K immediate / 449K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
   Add skip-innodb to MySQL configuration to disable InnoDB
   Run OPTIMIZE TABLE to defragment tables for better performance
   MySQL started within last 24 hours - recommendations may be inaccurate
   Enable the slow query log to troubleshoot bad queries
   When making adjustments, make tmp_table_size/max_heap_table_size equal
   Reduce your SELECT DISTINCT queries without LIMIT clauses
   Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
   tmp_table_size (> 16M)
   max_heap_table_size (> 16M)
   table_cache (> 512)

 

 

 

 

Nie rozumiem co mam zrobić.

 

 

 

Screen z RAM

 

cqs1305143812o.jpg

 

<img>

Edytowano przez XQS (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzisz tam ramkę Recomendations ?

Tam masz napisane co zrobić, poprawić. Jakbyś czegoś nie wiedział/nie umiał przetłumaczyć daj znać;-)

Jak to nie pomoże wymyślimy coś customowego(tzn inni wymyślą, ja się aż tak nie znam).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To mnie zastanawia:

 

Variables to adjust:

tmp_table_size (> 16M)

max_heap_table_size (> 16M)

table_cache (> 512)

 

 

 

 

 

Mam te ustawienia zwiekszyć jeszcze czy zmniejszyć?

 

<img>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

zwiększyć a jak nie ma to dodać. Przykładowo więcej niż 16M dla tmp_table_size

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dlaczego się przejmujesz 600 MB użyciem ?

Jak sam MySQL bez żadnych baz lubi sobie jeść ponad 200 MB ;)?

 

Jak wyciśniesz to wyciśniesz maks 100 MB, albo pogorszysz lądowanie stron ceną ramu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nigdzie na niapisem że przejmuje użyciem ramu. Mi zależy na szybkości forum IPB. Mam takie ustawienia ale baza zamula, chyba że moze to być też wina suhosin, nie wiem bo nie bardzo sie znam na tym, To moj pierwszy VPS.

Problem polega na tym że długo oczekuje na odpowiedz serwera, podczas przegladania. Wydaje mi się ze to wina MySQL, bo strona wedłóg skryptu ładuje się w mniej niż sekunde. Zainstalowane jest lighttpd + XChcace. Wiec długie oczekiwanie na odpowiedz serwera chyba wynika z konfiguracji mysql.

 

 

 

 

 

key_buffer		= 128M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size   	= 512
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover     	= BACKUP
#max_connections        = 100
tmp_table_size        = 128M
read_rnd_buffer_size = 768K
max_heap_table_size   = 64M
table_cache            = 2048
thread_concurrency 	= 10
#
# * Query Cache Configuration
#
query_cache_limit	= 64M
query_cache_size        = 64M

log_slow_queries	= /var/log/mysql/mysql-slow.log

expire_logs_days	= 10
max_binlog_size     	= 100M


skip-innodb



[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer= 64M
sort_buffer=128M
record_buffer = 64M
read_buffer=16M
write_buffer=16M

!includedir /etc/mysql/conf.d/

 

 

 

 

>>  MySQLTuner 1.2.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
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: 

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.49-3-log
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated -InnoDB -ISAM -NDBCluster 
[--] Data in MyISAM tables: 443M (Tables: 203)
[!!] Total fragmented tables: 27

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 11m 38s (8K q [12.238 qps], 772 conn, TX: 414M, RX: 13M)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 256.0M global + 3.2M per thread (151 max threads)
[OK] Maximum possible memory usage: 737.3M (18% of installed RAM)
[OK] Slow queries: 0% (0/8K)
[OK] Highest usage of available connections: 2% (4/151)
[OK] Key buffer size / total MyISAM indexes: 128.0M/97.5M
[OK] Key buffer hit rate: 99.7% (1M cached / 3K reads)
[OK] Query cache efficiency: 43.5% (2K cached / 5K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (1 temp sorts / 450 sorts)
[!!] Temporary tables created on disk: 32% (163 on disk / 499 total)
[OK] Thread cache hit rate: 99% (4 created / 772 connections)
[OK] Table cache hit rate: 25% (238 open / 923 opened)
[OK] Open file limit used: 10% (465/4K)
[OK] Table locks acquired immediately: 99% (7K immediate / 7K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
   Run OPTIMIZE TABLE to defragment tables for better performance
   MySQL started within last 24 hours - recommendations may be inaccurate
   When making adjustments, make tmp_table_size/max_heap_table_size equal
   Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
   tmp_table_size (> 128M)
   max_heap_table_size (> 64M)

 

 

 

 

Pobrałem też tuning-primer ale nie umiem go chyba użyć. On jedynie generuje plik my.cfn w ktorym nie ma żadnych ustawnień.

 

 

 

Chciałbym aby moje forum chodziło tak jak to :D <img>

Edytowano przez XQS (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przyglądnij się raczej konfiguracji lighttpd, a konkretnie sposobu działania php.

 

Pokaż jak wygląda Twoja konfiguracja tegoż to elementu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mój plik lighttpd.conf, niby mam włączone fastCGI.

 

Mój plik PHP info: http://178.63.37.180/info.php

 

 

 

 

 

server.modules = (


"mod_access",
"mod_alias",
"mod_compress",

"mod_redirect",


     "mod_rewrite",
)

server.document-root        = "/home/forum"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"

index-file.names            = ( "index.php", "index.html",
                               "index.htm", "default.htm",
                              " index.lighttpd.html" )

url.access-deny             = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

include_shell "/usr/share/lighttpd/use-ipv6.pl"

dir-listing.encoding        = "utf-8"
server.dir-listing          = "enable"

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/x-javascript", "text/css", "text/html", "text/plain" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"




alias.url += (
       "/phpmyadmin" => "/usr/share/phpmyadmin",
)





   url.rewrite-once = (        

                               "/(.*)\.(.*)" => "$0",
                               "/(css|files|img|js|stats)/" => "$0",
                               "^/([^.]+)$" => "/index.php"

                       )

 

 

<img>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×