LINUX.ORG.RU
ФорумAdmin

nginx+apache2+mysql, Тестирую нагрузку siege'ом - отваливается

 ,


0

1

Всем привет! Искал в инете, но толком ничего не нашел. Настраиваю веб сервер в связке nginx(отдает статику)+apache2+mysql Тестирую нагрузку siege'ом. 400 запросов в секунду выдерживает в течении 1мин. при 450 и выше отваливается. я так понимаю это фигня,а не нагрузка на сервер, т.к. даже половина ресурсов не загружается. По железу: 64гб оперативной памяти 3 жестких по 1 тб в программном raid 5 процессор 8-ми ядерный.

по htop видно, что mysql сильно грузит процессор. вот конфиги mysql на данный момент.

## The MySQL database server configuration file.

[client]
port		= 3306
socket		= /var/run/mysqld/mysqld.sock

[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
lc-messages-dir	= /usr/share/mysql
skip-external-locking
#пока что так подключение
bind-address            = 0.0.0.0

# * Fine Tuning
key_buffer		= 16M
key_buffer_size 	= 512M
key_cache_division_limit =70
max_allowed_packet	= 16M

thread_stack		= 192K
thread_cache_size       = 2048
thread_concurrency     = 8

myisam-recover         = BACKUP
max_connections        = 2000
max_connect_errors	= 50

#-------------------------------------
#добавленный
table_cache            = 2048
table_open_cache	= 1024
tmp_table_size		= 512M
max_heap_table_size	= 256M

sort_buffer_size	= 16M
join_buffer_size	= 4M
#-------------------------------------
# * Query Cache Configuration
#рекомендация mysqltuner.pl
query_cache_type        = OFF
query_cache_limit	= 2M
query_cache_size        = 128M
#
# * 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 log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# 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!
#

# * 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		= 32M

#
# * 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/

вот скрин htop

Что можете посоветовать?

На скрине я вижу перенагруз процессора.

Посоветовать я могу http://mysqltuner.com/ и отдельно посмотреть, какие запросы валятся. Вдруг у вас там индексы в таблицах выключены :D

l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 1)

На скрине виден не mysql, а гопач, тащемта.

Могу посоветовать его выкинуть и прикрутить к нжинксу php7-fpm, если движок позволяет (не прибит анально гвоздями к 5.x и к апачовским .htaccess). Включить opcache.

svr4
()
Последнее исправление: svr4 (всего исправлений: 1)
Ответ на: комментарий от tutochkin

explain <запрос>; show create table <таблица из запроса>.

Кстати в конфиге не вижу никаких настроек innodb, вполне вероятно, что он у тебя работает с единым tablespace и дефолтовым размером пула 128 метров (при том, что чем больше памяти ему отдать, тем лучше).

svr4
()
Последнее исправление: svr4 (всего исправлений: 1)
Ответ на: комментарий от svr4

.htaccess нужны( а можно как-нибудь сконфигурировать чтобы нармальная связка работала nginx+php+fpm и рядом апач как-нибудь для обработки .htaccess

tutochkin
() автор топика
Ответ на: комментарий от handbrake

Судя по тому, что занято 3 гига памяти - он диск тестирует. Был бы скрин с обычного топа - было бы понятнее, что там делает процессор.

svr4
()
Ответ на: комментарий от tutochkin

(почти) все правила htaccess имеют аналоги в конфиге nginx.

l0stparadise ★★★★★
()
Ответ на: комментарий от tutochkin

тестирую бэкап одного сайта на modx

нужно профайлить php+базу. Можно выиграть в производительности переходом на nginx+php-fpm, но он не всегда возможен.

handbrake ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.