Van egy crawlerem, amit Ubuntu alól futtatok localhostról (mysql, apache, php5).
A gépem: 16GB Ram, i7 (8 core), SSD.
A crawler sok-sok szálon fut, ezért van egy olyan kötöttség, hogy a my.cnf-ben a "max_connections = 8000" van beállítva.
A mysqltunernél már minden zöld, de a ramom futás közben mégis "elfogy", a proci is komolyan igénybe van véve.
Annyi mindent összeolvastam a neten, hogy tudtam némileg optimalizálni, most ezt használom:
PHP kód:
key_buffer = 256M
max_allowed_packet = 128M
thread_stack = 196K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
max_connections = 8000
#table_cache = 64
#thread_concurrency = 10
Illetve:
PHP kód:
#
# * Query Cache Configuration
#
query_cache_type = 0
query_cache_size = 132M
query_cache_limit = 8M
sort_buffer_size = 512K
join_buffer_size = 128K
innodb_buffer_pool_size = 2196M
Néztem a mysqlcalculator.com-ot is, és ez alapján állítani az értékeket, de mégsem akar igazán jó lenni a cucc. Azzal tudok játszani, ha sokkal kevesebb szálon megy a crawler, de szeretném kimaxolni amennyire csak lehet.
Tudtok adni tippeket, hogy mit hogy érdemes változtatni a jobb működés érdekében?
Akár a max connenction-re valamilyen beállítási alternatívát, vagy bármelyik másik értékre.
Köszi előre is.
Könyvjelzők