mysql и производительность жесткого диска

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

mysql и производительность жесткого диска

Непрочитанное сообщение dmtr » 2012-06-20 14:55:11

есть сайт (на wordpress) на главной странице выполняется 300-400 запросов к базе mysql. в результате среднее время загрузки главной составляет порядка 4секунд. время выполнения запросов упирается в производительность диска (по словам програмера). каким образом обойти эту проблему?

мускулем запросы кэшируются, выделенной под кэш запросов памяти свободно половина.

кто что посоветует, пните в направлении
This game has no name. It will never be the same.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: mysql и производительность жесткого диска

Непрочитанное сообщение FiL » 2012-06-20 16:00:58

A что там за база такая, что 300-400 запросов выполняется 4 секунды?

Хотя загрузка одной страницы приводящая к 400 запросам к базе - это пиздец.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение GhOsT_MZ » 2012-06-20 16:30:34

Что ж там за страница с 300-400 запросами? Сократить их количество не пробовали?

Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

Re: mysql и производительность жесткого диска

Непрочитанное сообщение dmtr » 2012-06-20 16:38:48

GhOsT_MZ писал(а):Что ж там за страница с 300-400 запросами? Сократить их количество не пробовали?
да программеры уже там поизголялись как могли, меньше не получается, изначально херово спроектирован был ресурс.

так вопрос все-таки куда копать? думал про вынесение БД на md диск, но што-то мне кажется при какой-нить внезапной перезагрузке можно огрести ((
This game has no name. It will never be the same.

Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

Re: mysql и производительность жесткого диска

Непрочитанное сообщение dmtr » 2012-06-20 16:42:33

FiL писал(а):Хотя загрузка одной страницы приводящая к 400 запросам к базе - это пиздец.
там вообщето уже используется вордпресовский плагин для кэширования запросов, так вот самтаймз я вижу там ~800 запросов при генерации главной
This game has no name. It will never be the same.

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: mysql и производительность жесткого диска

Непрочитанное сообщение Gloft » 2012-06-26 14:55:08

Можно попробовать:
- заменить HDD на SSD раздел где размещена БД
- настроить RAID0 для раздела где размещена БД
- изменить архитектуру ПО для уменьшения количества запросов к БД
- проверить насколько эффективно используются индексы
- оптимизировать запросы к БД
- настроить кеш для статики на веб-сервере

В целом это все костыли, надо менять архитектуру ПО или БД, а лучше и того и другого.

Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

Re: mysql и производительность жесткого диска

Непрочитанное сообщение dmtr » 2012-06-26 15:57:36

Gloft писал(а): ... надо менять архитектуру ПО или БД, а лучше и того и другого.
спасибо, как раз это щас и производится, проект перерабатывается ))
This game has no name. It will never be the same.

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: mysql и производительность жесткого диска

Непрочитанное сообщение BlitzKrieg » 2012-07-09 16:31:39

Странно, что упирается в производительность диска, особенно, что по словам программера. Мониторить сами лично не пробовали?

Смотрите запросы, которые наиболее долго выполняются, эксплейните их и смотрите в чем дело.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение GhOsT_MZ » 2012-07-09 16:43:49

А что странного? Размер кеша небольшой видимо, интенсивность запросов высока, вот и не успевает читать/писать с/на диск...

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: mysql и производительность жесткого диска

Непрочитанное сообщение BlitzKrieg » 2012-07-09 16:56:33

dmtr писал(а): мускулем запросы кэшируются, выделенной под кэш запросов памяти свободно половина.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: mysql и производительность жесткого диска

Непрочитанное сообщение Bayerische » 2012-07-09 18:00:51

Какая посещаемость?
Стоит ли WP Super Cache или MaxSite Cache?

Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

Re: mysql и производительность жесткого диска

Непрочитанное сообщение dmtr » 2012-07-09 18:10:09

Bayerische писал(а):Какая посещаемость?
Стоит ли WP Super Cache или MaxSite Cache?
щас вопрос собственно не актуален, проект был переделан (много чего было переписано и БД была перепроектирована в том числе), на серваке щас один винт из зеркала выведен, жду замену. так что щас реальное быстродействие оценить не могу.

но всем спасибо за отклики ))
This game has no name. It will never be the same.

mixar
ефрейтор
Сообщения: 52
Зарегистрирован: 2010-04-26 12:05:49
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение mixar » 2013-01-14 13:19:37

memcached попробуйте, мне на сайтах на Drupal7 здорово помогает!
Присоединяйся к нам - FreeBSD.pro

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-10-20 20:12:01

Может еще кому нибудь пригодится: w3 Total Cache (включить page, object кеши), xcache в php.. и уволить программера за такое кол-во запросов для генерации стартовой страницы)
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-10-20 20:12:30

mixar писал(а):memcached попробуйте, мне на сайтах на Drupal7 здорово помогает!
не вариант никак, особенно для Wordpress
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-10-25 19:30:37

А вообще берем диски SATA3 - Hitachi A2000 и получаем очень хорошую скорость в ~ 130Mb/s - хватает за глаза на рядовом сервере, стоимость для этих enterprise-дисков начального уровня практически такая же как для обычных десктопных...
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение Alex Keda » 2013-11-20 16:57:47

jettochkin писал(а):А вообще берем диски SATA3 - Hitachi A2000 и получаем очень хорошую скорость в ~ 130Mb/s - хватает за глаза на рядовом сервере, стоимость для этих enterprise-дисков начального уровня практически такая же как для обычных десктопных...
и далеко не факт что поможет....
Убей их всех! Бог потом рассортирует...

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-11-20 17:05:19

Хотя бы жесткий диск не будет узким местом.. можно всю память для кеша не отдавать)
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

firefly
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-07 13:58:02
Откуда: Беларусь, Минск
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение firefly » 2013-11-21 22:35:09

Чаще всего, в такое случае помогает перемещение каталога временных таблиц в оперативную память.
Но программистам руки поотрывать все равно стоит.

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-11-21 23:23:05

firefly писал(а):Чаще всего, в такое случае помогает перемещение каталога временных таблиц в оперативную память.
Но программистам руки поотрывать все равно стоит.
перемещение временных таблиц - привело к:
1) нагрузка на жесткий диск с 100мб/с до 10мб/сек (в среднем)
2) нагрузка на CPU с 60 до 90% (до 99% в моменты пиков посещения сайтов)

И это при кешировании на всех уровнях (fastcgi+xcache, nginx, mysql)...
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

firefly
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-07 13:58:02
Откуда: Беларусь, Минск
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение firefly » 2013-11-22 8:46:14

Проблему с диском решили :) Сайт начал быстрее работать?
Кстати, на каком оборудовании работаете (сколько памяти, какой CPU).
На *nix системах не надо мерять нагрузку в процентах - главный параметр load average.
Запустите команду vmstat 3, по её выводу можно будет определить, чего именно не хватает вашему проекту для "счастья" :)

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-11-22 9:46:59

firefly писал(а):Проблему с диском решили :) Сайт начал быстрее работать?
Кстати, на каком оборудовании работаете (сколько памяти, какой CPU).
На *nix системах не надо мерять нагрузку в процентах - главный параметр load average.
Запустите команду vmstat 3, по её выводу можно будет определить, чего именно не хватает вашему проекту для "счастья" :)
16Gb DDR3-12800, CPU G2040, - LA~2.9, памяти Active 8Gb, Free 2Gb, NGINX Active Conn=1400, посещаемость на все сайты около 130000 в сутки
Жесткий диск почти не принимает участие в работе) теперь вся работа за CPU :( после переноса всего в память (tmsfs) - MySQL стал кушать конкретно CPU..
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's

firefly
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-07 13:58:02
Откуда: Беларусь, Минск
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение firefly » 2013-11-22 19:44:54

Не нашел точную модель вашего процессора, но уверен что в нем больше 4 ядер - значит, LA =3 нормальная нагрузка, и сервер справляется хорошо.
Раньше MySQL ждал диска, поэтому процессор простаивал, сейчас все запросы выполняются быстрее и поэтому кажется что процессор стал более нагружен.

P.S. Активируйте Mysql slow-log и оптимизируйте запросы которые в него попадают.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: mysql и производительность жесткого диска

Непрочитанное сообщение Bayerische » 2013-11-22 21:03:45

после переноса всего в память (tmsfs)
А можно подробнее, что именно на tmsfs теперь?

jettochkin
рядовой
Сообщения: 34
Зарегистрирован: 2013-10-20 19:30:28
Откуда: Russia
Контактная информация:

Re: mysql и производительность жесткого диска

Непрочитанное сообщение jettochkin » 2013-11-22 21:51:36

firefly писал(а):Не нашел точную модель вашего процессора, но уверен что в нем больше 4 ядер - значит, LA =3 нормальная нагрузка, и сервер справляется хорошо.
Раньше MySQL ждал диска, поэтому процессор простаивал, сейчас все запросы выполняются быстрее и поэтому кажется что процессор стал более нагружен.

P.S. Активируйте Mysql slow-log и оптимизируйте запросы которые в него попадают.
2 ядра и 3.0Ghz - по сути десктоп с большим количеством оперативки и быстрыми винтами; LA в пиках до 6

ловлю медленных запросов включил.. есть один запрос - который фик изменишь - лента активности BuddyPress.... грузит нереально...
FreeBSD 10.x amd64 more web site's nginx spawn-fcgi clone process for any site's