The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Оптимизация MySQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Оптимизация MySQL" 
Сообщение от leog emailИскать по авторуВ закладки(ok) on 28-Мрт-05, 12:37  (MSK)
Народ, подскажите.
Есть сервер (2 CPUs 1300MHz, 1GB memory) Apache 1.3.33 + mod_perl + php + MySQL.
Помимо всяческих ВЕБ-запросов сервер получает почти сплошным потоком (через ftp) записи, которые быстренько обрабатываются и записываются в БД. Загрузка этого двухпроцессорного сервера от 70 до 500% (в среднем 150%) и большая часть приходится на MySQL.
Как оптимизировать MySQL чтоб он работал как можно быстрее и не "ел" столько CPU?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Оптимизация MySQL" 
Сообщение от chip emailИскать по авторуВ закладки(??) on 28-Мрт-05, 14:33  (MSK)
>Народ, подскажите.

Не мешло бы еще ОС указать и версию MySQL!

Для FreeBSD попробуй пересобрать MySQL с linuxthreads. Потому что даже на нативной libptreads из 5.3 MySQL показывает удручающие результаты.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Оптимизация MySQL" 
Сообщение от nide Искать по авторуВ закладки on 28-Мрт-05, 14:41  (MSK)
>Народ, подскажите.
>Есть сервер (2 CPUs 1300MHz, 1GB memory) Apache 1.3.33 + mod_perl +
>php + MySQL.
>Помимо всяческих ВЕБ-запросов сервер получает почти сплошным потоком (через ftp) записи, которые
>быстренько обрабатываются и записываются в БД. Загрузка этого двухпроцессорного сервера от
>70 до 500% (в среднем 150%) и большая часть приходится на
>MySQL.
>Как оптимизировать MySQL чтоб он работал как можно быстрее и не "ел"
>столько CPU?

ОС действительно следовало бы указать. От нее многое зависит. На phpclub лежит 10ый номер журнала phpinside. Дык вот, там проводился тест на работу ОС с MySQL. На сколько я помню,лучшим оказался Linux 2.4 или 2.6

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Оптимизация MySQL" 
Сообщение от leog emailИскать по авторуВ закладки(ok) on 28-Мрт-05, 16:00  (MSK)
Да, это я действительно дал маху не указав ОС.
OS: RedHat linux enterprise (v9) Kernel 2.4.21-4
MySQL 4.1.9
Сборка MySQL-я следующая:
   CC=gcc
   CXX=gcc
   CFLAGS="-O3"
   CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"

   ./configure                                     \
       --prefix=/usr/local/mysql               \
       --enable-dependency-tracking            \
       --with-archive-storage-engine           \
       --with-csv-storage-engine               \
       --with-extra-charsets=complex           \
       --enable-thread-safe-client             \
       --enable-local-infile                   \
       --enable-assembler                      \
       --disable-shared                        \
       --with-client-ldflags=-all-static       \
       --with-mysqld-ldflags=-all-static       \
       --with-embedded-server                  \
       --with-innodb

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Оптимизация MySQL" 
Сообщение от Асен Тотин emailИскать по авторуВ закладки on 29-Мрт-05, 00:13  (MSK)
Привет,

Можно попробовать еще

     --without-debug
     --without-benchmark

если онни поддерживаются в это ветке. Очень полезно посмотреть статистику самого сервера - на консоли набрать \s и внимательно прочитать последнюю строчку - в особенности, Slow queries: и Queries per second avg.

WWell,

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Оптимизация MySQL" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 29-Мрт-05, 09:17  (MSK)
>Народ, подскажите.
>Есть сервер (2 CPUs 1300MHz, 1GB memory) Apache 1.3.33 + mod_perl +
>php + MySQL.
>Помимо всяческих ВЕБ-запросов сервер получает почти сплошным потоком (через ftp) записи, которые
>быстренько обрабатываются и записываются в БД. Загрузка этого двухпроцессорного сервера от
>70 до 500% (в среднем 150%) и большая часть приходится на
>MySQL.
>Как оптимизировать MySQL чтоб он работал как можно быстрее и не "ел"
>столько CPU?
в догонку - немешало бы еще посмотреть вывод explain..
и еще - Вы знаете какие именно запросы так нагружают машину ?
если возможно, то стоит привести запросы и формат таблиц к которым они обращаются..
вообще-то это первое, что надо делать - сначала оптимизируются запросы,
если не помогло - сервер(ПО) и как последний вариант - железо.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Оптимизация MySQL" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 29-Мрт-05, 09:27  (MSK)
и еще в догонку - читать больше про диски (HDD) и файловые системы ;-)
--
если в системе IDE, и нет возможности перезда на SCSI то отсадить базу на отличный от / и htdocs контроллер (канал)..
раздел с базой желательно держать на XFS (она оптимизированна для активной работы с большими файлами)..

+отключить сжатие данных при передаче в настройках mysql

и можно подетальней каким образом  "сервер получает почти сплошным потоком (через ftp) записи" - тут тоже может собака порыться

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Оптимизация MySQL" 
Сообщение от leog emailИскать по авторуВ закладки(ok) on 29-Мрт-05, 12:25  (MSK)
Начну с железа. Про процессоры и память сказал выше. Диски SCSI RAID5. 4 диска. Filesystem: ext3 :(. Не я этот сервер собирал. Переделать возможности нет-он в другой стране и останавливать его надолго нельзя.
Таблица статическая, без varchar. В основном bigint,mediumint и smallint и всего два char(15). Всего 22 поля. 7 индексов. Количество записей только на INSERT и INSERT DELAYED примерно 50-100 в секунду. Но это не равномерно, а скачками. Один поток идет все время - 20-50 записей в секунду, а второй после получения по ftp и небольшой обработки.
Помимо этого раз в минуту запускаются процессы для сбора статистики и создания кэш-таблиц(для более быстрого выполнения отчетов). Это,в основном, SELECT. Отчеты более суровые - с выборкой по нескольким таблицам. Но это пока отдельная тема. Пока даже простые запросы выполняются медленно.
SELECT DISTINCT Company FROM table WHERE Incoming_line;
выполняется 16 секунд (размер БД примерно 6 млн. записей)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Оптимизация MySQL" 
Сообщение от leog emailИскать по авторуВ закладки(ok) on 06-Апр-05, 12:17  (MSK)
Нашел несколькр причин
1. RedHat ES не очень хочет работать с пакетами не своей сборки или какая-то другая заморочка этого дистрибутива. Наверно надо было ставить не серверную версию, но от Dell - это их сервер. На Slackware все бежит на ура, но конфигурация чуть-чуть лучше. Процессоры немного сильнее.

2. Обработка таблиц MyISAM требует больше ресурсов процессора (на mySQL-евском сайте где-то вычитал), а так как запись и чтение БД постоянны, то и загрузка большая. Нужны более мощные процессоры.

Если есть еще добавления - буду рад услышать

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Оптимизация MySQL" 
Сообщение от lavr emailИскать по авторуВ закладки on 10-Апр-05, 16:42  (MSK)
>Нашел несколькр причин
>1. RedHat ES не очень хочет работать с пакетами не своей сборки
>или какая-то другая заморочка этого дистрибутива. Наверно надо было ставить не
>серверную версию, но от Dell - это их сервер. На Slackware
>все бежит на ура, но конфигурация чуть-чуть лучше. Процессоры немного сильнее.
>
>
>2. Обработка таблиц MyISAM требует больше ресурсов процессора (на mySQL-евском сайте где-то
>вычитал), а так как запись и чтение БД постоянны, то и
>загрузка большая. Нужны более мощные процессоры.
>
>Если есть еще добавления - буду рад услышать


добавлений немеряно - книга Жереми Заводны (это специалист yahoo по mysql, а его книга считается лучшей, основной, непревзойденной и тд и тп :):

O'Reilly High Performance MySQL - Jeremy Zawodni

можно найти в осле, если нужно, могу отдать этот бестселлер by http,
ну или застартую осла и дам ссылку ed2k

Некоторые статьи и рекомендации можно найти в его blog'е, но лучше конечно
книга.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Оптимизация MySQL" 
Сообщение от leog emailИскать по авторуВ закладки(ok) on 12-Апр-05, 15:35  (MSK)
Огромное спасибо lavr-у. Книга - высший пилотаж. Рекомендую всем.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру