FreeHost.com.UA
Января 21, 2018, 03:56:37 am *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Распродажа серверов http://freehost.com.ua/forum/index.php?topic=2093.0
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Оптимизация сервера mysqld  (Прочитано 5796 раз)
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« : Сентября 12, 2011, 12:14:09 pm »

Сервер Intel Atom 1.8 Гц (2 ядра)    4 Гб
mysqld грузит до 25%
load averages вырос до 5

 MySQLTuner 1.2.0 говорит вот что
Цитировать
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.58-log
[OK] Operating on 64-bit architecture

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

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

-------- Performance Metrics -------------------------------------------------
[--] Up for: 7d 20h 17m 0s (38M q [57.324 qps], 5M conn, TX: 67B, RX: 2B)
[--] Reads / Writes: 67% / 33%
[--] Total buffers: 296.0M global + 26.2M per thread (151 max threads)
[OK] Maximum possible memory usage: 4.2G (83% of installed RAM)
[OK] Slow queries: 0% (0/38M)
[OK] Highest usage of available connections: 25% (39/151)
[OK] Key buffer size / total MyISAM indexes: 256.0M/17.4M
[OK] Key buffer hit rate: 100.0% (89M cached / 7K reads)
[OK] Query cache efficiency: 40.6% (3M cached / 9M selects)
[!!] Query cache prunes per day: 6935
[OK] Sorts requiring temporary tables: 0% (547 temp sorts / 925K sorts)
[!!] Joins performed without indexes: 13566
[!!] Temporary tables created on disk: 26% (39K on disk / 146K total)
[OK] Thread cache hit rate: 99% (16K created / 5M connections)
[!!] Table cache hit rate: 9% (512 open / 5K opened)
[OK] Open file limit used: 8% (960/11K)
[OK] Table locks acquired immediately: 96% (8M immediate / 8M locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Enable the slow query log to troubleshoot bad queries
    Adjust your join queries to always utilize indexes
    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:
    query_cache_size (> 20M)
    join_buffer_size (> 20.0M, or always use indexes with joins)
    tmp_table_size (> 20M)
    max_heap_table_size (> 20M)
    table_cache (> 512)


мой конфиг который я уже подправил)

Цитировать
[client]
#password       = your_password
port            = 3306
socket      = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 20M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
default-character-set=cp1251
init_connect="SET NAMES 'cp1251'"
skip-innodb
tmp_table_size = 20M
max_heap_table_size = 20M
join_buffer_size = 20M

Подскажите как его лучше оптимизировать?)
Записан
botanik
FreeHost
*****

Karma: 0
Сообщений: 14

Админ


Просмотр профиля
« Ответ #1 : Сентября 12, 2011, 02:19:12 pm »

Увеличить эти параметры
query_cache_size (> 20M)
    join_buffer_size (> 20.0M, or always use indexes with joins)
    tmp_table_size (> 20M)
    max_heap_table_size (> 20M)
    table_cache (> 512)


Также поставить на сервер mtop и отследить проблемные запросы и попробывать их оптимизировать,а также проставить индексы для всех таблиц в бд
Записан
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #2 : Сентября 12, 2011, 04:05:04 pm »

Я их увеличивал, выходит тогда Maximum possible memory usage: больше 100%

мтоп попробую поставить, спасибо, а индексы вроде стоят  Непонимающий
Записан
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #3 : Сентября 14, 2011, 11:28:39 pm »

Спасибо, помогло когда добавил в 1 таблицу 3 индекса, по ТОПу mysqld уже не так грузит как раньше)
А mtop ничего не дал, медленных запросов нету)

Сегодня появилась новая проблема, сначала ошибка nginx при заходе на сайт, подключился через консоль load average 21
и висит 512 процессов httpd
в логе нешел ошибку
Цитировать
server reached MaxClients setting, consider raising the MaxClients setting
мой конфиг
Код:
<IfModule itk.c>
    AcceptMutex fcntl
    CoreDumpDirectory /tmp
    AssignUserID www www
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 256
    MaxClients 256
    MaxRequestsPerChild 4000
</IfModule>
подскажите как грамотно его изменить чтоб больше такая трабла не случилась

На одном сайте много картинок, которые могут грузятся в несколько потоков, возможно стоит изменить
Код:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
?
« Последнее редактирование: Сентября 15, 2011, 04:05:16 pm от Thorin » Записан
botanik
FreeHost
*****

Karma: 0
Сообщений: 14

Админ


Просмотр профиля
« Ответ #4 : Сентября 15, 2011, 11:53:50 am »

напишите запрос на support@freehost.com.ua
Записан
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #5 : Сентября 15, 2011, 04:10:23 pm »

я не вижу смысла лишний раз беспокоить саппорт) если бы что то поломалась и не работало я бы написал Улыбающийся
а так просто спрашиваю у людей которые занимаются настройкой и имеют опыт, какой лучше конфиг сделать для сервера, в интернете толковых примеров нету...

з.ы. сейчас напишу)
Записан
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #6 : Января 15, 2012, 02:51:13 am »

Посещение сайтов растет, и ЛА сервера тоже)
Стоит apache+nginx
Сервер Dedicated Cайт+    Intel Atom D525 1.8 GHz (2 ядра)    4 Гб    1х500 SATA
Основные сайты
1 5к хостов 20к хитов
2 3к хостов 16к хитов (доработал готовый движок, вышло что скрипт грузит с кеша массив который весит 2мб почти при каждом обновление, надо исправить, не знаю как))
3 3к хостов 150к хитов (оченьм много графики+прожорливый форум ИПБ 3)




Максимальный онлайн в "час пик" по крупным сайтам выходит около 380 человек, третий сайт отдает много графики, может быть что просто железо не справляется(винт например)? Или скорей всего можно оптимизировать сайты и заметно снизить ЛА?
Записан
Komintern
FreeHost
*****

Karma: 9
Сообщений: 417


Админ


Просмотр профиля WWW
« Ответ #7 : Января 15, 2012, 10:31:05 am »

справляется ли винт, можно через gstat посмотреть во FreeBSD, или через iotop в GNU linux.
Записан

Lucy in the Sky with Diamonds
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #8 : Января 15, 2012, 08:23:51 pm »

Спасибо, gstat показывает что винт не сильно юзаеться, надо оптимизировать скрипты)
Записан
Thorin
Full Member
***

Karma: 2
Сообщений: 138


Просмотр профиля
« Ответ #9 : Марта 29, 2012, 11:30:25 pm »

Поставили мне php-fpm и пхп акселератор, в итоге ЛА стал нормальным))

Осталась проблема, на сайте (Сайт 4-5к Хостов 200-300к хитов) один модуль платный и под зендом (ионкубом) если его включить, ЛА начинает расти(кешер видать не работает), как решить эту проблему? Я так понял что ни один кешер не будет работать со скриптом который под зендом или кубом? Гуглил, ничего не нашел...
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!