Поможет ли оптимизация Бд в скорости ответа сервера?

MySQL, PostgreSQL, InterBaseSQL etc

Модераторы: Art.i, vasya

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Сб мар 15, 2014 10:29 am

Значит у вас в настоящий момент всего 7 процессов вебсервера работают и обрабатывают запросы и больше ничем сервер не загружен (если вы смотрите в браузере /server-status верно?)

> Нагрузка влияет на скорость ответа?

Влияет на все
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 10:34 am

да в браузере, кстати до перезагрузки было более 20 процессов
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Сб мар 15, 2014 10:40 am

Надо смотреть что они делали, возможно были просто в ожидании и не занимали процессор, какой запрос какой процесс обрабатывает написано в server-status
В конфигурации apache есть что-то типа

StartServers 2
MinSpareServers 3
MaxSpareServers 10

и как раз значение между MinSpareServers и MaxSpareServers может быть в количестве процессов которые просто простаивают ожидая подключений
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 10:45 am

вот данные
Вложения
reere.jpg
reere.jpg (116.26 KiB) Просмотров: 14185
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Сб мар 15, 2014 10:48 am

Ваш сервер ничем не занят в настоящее время кроме обработки одного запроса с адреса 176.99.4.10 который ничем нагружает сервер (так всего один запрос который отдает данные (W), остальные все запросы - просто запущенные процессы - это ваше открытие server-status и вход в админку wordpress

Нагрузка не от apache, разбирайтесь с базой данных, что показывает команда top?
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 11:08 am

top
Не понятно что 2-3
Вложения
reere12.jpg
reere12.jpg (144.71 KiB) Просмотров: 14184
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 11:24 am

В PHPmyadmin есть значения выделенны красным цветом 7 шт.

Created_tmp_disk_tablesДокументация 158 Количество временных таблиц, автоматически созданных сервером на диске, во время выполнения SQL-выражений. Если значение Created_tmp_disk_tables велико, следует увеличить значение переменной tmp_table_size, чтобы временные таблицы располагались в памяти, а не на жестком диске.

Innodb_buffer_pool_reads 985 Количество последовательных запросов на чтение, которые InnoDB не смог выполнить из буферного пула и использовал постраничное чтение.

Handler_read_rnd 349.8 k Количество запросов, на чтение строки, основанных на ее позиции. Большое значение переменной может быть обусловлено частым выполнением запросов использующих сортировку результата, выполнением большого числа запросов требующих полного сканирования таблиц, наличием объединений не использующих индексы надлежащим образом.

Handler_read_rnd_next 386.7 k Количество запросов на чтение следующей строки из файла данных. Данное значение будет высоким, при частом сканировании таблиц. Обычно это означает, что таблицы не проиндексированы надлежащим образом или запросы не используют преимущества индексов.

Opened_tablesДокументация 198 Общее количество открывавшихся таблиц. При большом значении переменной рекомендуется увеличить размер кеша таблиц (table_cache).

Table_locks_waitedДокументация 1 Количество запросов на блокировку таблицы, которые были удовлетворены только после определенного периода ожидания. Если значение велико и есть проблемы с производительностью, необходимо сначала оптимизировать свои запросы, а затем разбить свою таблицу (или таблицы) или использовать репликацию.

И после проверки в ISP
Во время проверки базы данных 'an*it****' были обнаружены таблицы имеющие тип InnoDB. Для их восстановления необходимо вмешательство администратора сервера.
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Сб мар 15, 2014 11:40 am

Воспользуйтесь скриптом mysqltuner.pl https://www.google.ru/search?q=mysqltuner - он покажет какие параметры надо увеличить в /etc/my.cnf для быстрой работы сервера

У вас маленькие значения tmp_table_size - его надо увеличить. Буквально сегодня я оптимизировал клиентский mysql-сервер, но там проблема явно была видна в top что он его грузит - я прописал в /etc/my.cnf значения и перезапустил mysqld и это значительно улучшило работу
Код: выделить все
tmp_table_size = 32M
max_heap_table_size = 64M

Какие еще параметры поменять покажет mysqltuner
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 12:33 pm

tmp_table_size = 32M
max_heap_table_size = 64M


Нет таких строк вот что есть в /etc/mysql/my.cnf

Код: выделить все
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port      = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[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
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address      = 127.0.0.1
#
# * Fine Tuning
#
key_buffer      = 16M
max_allowed_packet   = 16M
thread_stack      = 192K
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        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# 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.
#
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#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
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# 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      = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


А вот рекомендации mysqltuner подскажите что где менять судя из этих рекоммендаций

>> MySQLTuner 1.3.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
[OK] Logged in using credentials from debian maintenance account.
[OK] Currently running supported MySQL version 5.5.24-0ubuntu0.12.04.1
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM
[!!] InnoDB is enabled but isn't being used
[OK] Total fragmented tables: 0

-------- Security Recommendations -------------------------------------------
ERROR 1142 (42000) at line 1: SELECT command denied to user ''@'localhost' for table 'user'
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 3h 3m 1s (61K q [5.625 qps], 1K conn, TX: 516M, RX: 69M)
[--] Reads / Writes: 68% / 32%
[--] Total buffers: 192.0M global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 597.8M (38% of installed RAM)
[OK] Slow queries: 0% (0/61K)
[OK] Highest usage of available connections: 8% (13/151)
[!!] Cannot calculate MyISAM index size - re-run script as root user
[OK] Query cache efficiency: 54.9% (25K cached / 46K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 5K sorts)
[!!] Temporary tables created on disk: 34% (285 on disk / 819 total)
[OK] Thread cache hit rate: 98% (15 created / 1K connections)
[OK] Table cache hit rate: 96% (191 open / 198 opened)
[OK] Open file limit used: 19% (200/1K)
[OK] Table locks acquired immediately: 99% (31K immediate / 31K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
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
Variables to adjust:
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Сб мар 15, 2014 12:37 pm

В секцию [mysqld] пропишите ниже skip-external-locking 2 строки, 32 мегабайта будет вполне достаточно

Код: выделить все
tmp_table_size = 32M
max_heap_table_size = 32M
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 1:36 pm

Код: выделить все
>>  MySQLTuner 1.3.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
[OK] Logged in using credentials from debian maintenance account.
[OK] Currently running supported MySQL version 5.5.24-0ubuntu0.12.04.1
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM
[!!] InnoDB is enabled but isn't being used
[OK] Total fragmented tables: 0

-------- Security Recommendations  -------------------------------------------
ERROR 1142 (42000) at line 1: SELECT command denied to user ''@'localhost' for table 'user'
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 6m 49s (4K q [10.978 qps], 459 conn, TX: 29M, RX: 3M)
[--] Reads / Writes: 80% / 20%
[--] Total buffers: 208.0M global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 613.8M (39% of installed RAM)
[OK] Slow queries: 0% (0/4K)
[OK] Highest usage of available connections: 2% (4/151)
[!!] Cannot calculate MyISAM index size - re-run script as root user
[OK] Query cache efficiency: 39.0% (1K cached / 3K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 441 sorts)
[OK] Temporary tables created on disk: 8% (34 on disk / 413 total)
[OK] Thread cache hit rate: 99% (4 created / 459 connections)
[OK] Table cache hit rate: 96% (175 open / 182 opened)
[OK] Open file limit used: 16% (169/1K)
[OK] Table locks acquired immediately: 99% (2K immediate / 2K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
    Add skip-innodb to MySQL configuration to disable InnoDB
    MySQL started within last 24 hours - recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries


Теперь так все стало, улучшения в отклике не наблюдаю что можно улучшить еще?
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение dronx3m » Сб мар 15, 2014 8:37 pm

Служба поддержки сможет решить мою проблему ? платно
dronx3m
 
Сообщений: 73
Зарегистрирован: Чт сен 05, 2013 12:49 pm

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение pepper » Вс мар 16, 2014 3:24 am

Вы можете сами ещё кое-что подправить:

[!!] InnoDB is enabled but isn't being used
Add to MySQL configuration to disable InnoDB

Добавьте/раскомментируйте в my.cnf это:
Код: выделить все
skip-innodb


Enable the slow query log to troubleshoot bad queries

Там же в секции [mysqld] можете добавить эти строки:
Код: выделить все
      log-queries-not-using-indexes
         long_query_time=100
         log_slow_queries=/var/log/mysql-slow.log


И перезапустите Mysql.
В файле /var/log/mysql-slow.log начнут появляться непроиндексированные и долгие (дольше 100 секунд) запросы. Можно будет их проанализировать и попытаться оптимизировать.
pepper
Support team
 
Сообщений: 551
Зарегистрирован: Пн окт 07, 2013 4:06 am

Re: Поможет ли оптимизация Бд в скорости ответа сервера?

Сообщение ls » Вс мар 16, 2014 4:25 am

dronx3m писал(а):Служба поддержки сможет решить мою проблему ? платно

Да, если проблема связана именно с настройками сервера, а не со скриптами сайта, может быть скрипты так написаны что зависают по какой-либо причине, в таком случае лучше вам обратиться к разработчикам сайта
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Пред.

Вернуться в Базы данных

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron