Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Сервер баз данных
  • Search

MySQL падает

Вопросы по работе Сервера баз данных
MySQL, PostgreSQL, MariaDB, Percona Server, phpMyAdmin, phpPgAdmin
Post Reply
  • Print view
Advanced search
229 posts
  • Page 10 of 23
    • Jump to page:
  • Previous
  • 1
  • …
  • 8
  • 9
  • 10
  • 11
  • 12
  • …
  • 23
  • Next
JEY70
Posts: 129
Joined: Sat May 04, 2013 8:06 pm

Os: Ubuntu 15x
Web: apache + nginx
Re: MySQL падает
  • Quote

Post by JEY70 » Wed May 21, 2014 2:52 pm

MySQL падает подтверждаю, проблема началась с месяц на зад, на тех серверах где ее не было, сейчас wordpress на ура кладет сервак. Решения пока что нет.
Top

rez0n
Posts: 149
Joined: Fri Jan 25, 2013 8:04 am
Contact:
Contact rez0n
Website

Re: MySQL падает
  • Quote

Post by rez0n » Wed May 21, 2014 2:55 pm

Почитайте эту тему, в ней уже найдено много решений данной проблемы.
Top

viliam
Posts: 7
Joined: Wed May 28, 2014 7:01 am

Re: MySQL падает
  • Quote

Post by viliam » Wed May 28, 2014 8:15 am

DigitalOcean
512m
1 cpu
CentOC+Vesa Panel
WordPress
===============


Банально не хватало ОЗУ :)
В первую очередь создал swap:

Code: Select all

dd if=/dev/zero of=/swapfile bs=1024 count=256k && mkswap /swapfile && swapon /swapfile && echo /swapfile          swap            swap    defaults        0 0 >> /etc/fstab
Потом оптимизировал nginx. Спасибо за решение от Visioner(viewtopic.php?f=32&t=3852&start=50#p6530), помогло.

В файлике /etc/nginx/nginx.conf изменил параметр worker_processes с 2 на 1, так как число должно быть равно количеству ядер в системе. Потом в секции http добавил строку:

Code: Select all

 limit_req_zone $binary_remote_addr zone=dyn:10m rate=10r/s;
Image

Потом добавляем строку с ограничением для каждого своего домена в файле /home/username/conf/web/nginx.conf в начало секции location:

Code: Select all

limit_req zone=dyn burst=10;
Image
Добавил так же строку с ограничением в шаблон nginx'a /usr/local/vesta/data/templates/web/nginx/default.tpl что бы последующие сайты создавались с правильными настройками:

Code: Select all

limit_req zone=dyn burst=10;
Image

Перезагрузил nginx: service nginx restart

Вот результат:
Image
Опционально можно установить кеширующие плагины (WP Super Cache) и/или завернуть на NS'ы cloudflare.com и кешировать там :)
Last edited by viliam on Wed May 28, 2014 12:06 pm, edited 1 time in total.
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: MySQL падает
  • Quote

Post by demian » Wed May 28, 2014 12:03 pm

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

Для тех кто в танке: нехватка оперативной памяти получается из-за настроек mysql настройки по умолчанию очень сильно завышены даже для десятка сайтов на Вордпресс.
С учетом того что ядро mysqld при старте занимает 376 мегабайт оперативки. + по 4.5 мегабайта на 1 коннект получаем нехватку оперативки.

ядро мускула можно задавить до 48 мегабайт, а потребление на один коннект до 2 мегабайт в итоге получаем при лимите 100 коннектов 248 мегабайт на mysqld и 264 магабайта под все остальное снижение быстродействия 0, шаблоны: nginx - cache, индейец - hosting. 5-10 коннектов с секунду, в зависимости от плагинов к движку, сервер выдержит
Top

Lancaster
Posts: 43
Joined: Sun May 18, 2014 11:24 am

Re: MySQL падает
  • Quote

Post by Lancaster » Wed May 28, 2014 10:00 pm

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

Для тех кто в танке: нехватка оперативной памяти получается из-за настроек mysql настройки по умолчанию очень сильно завышены даже для десятка сайтов на Вордпресс.
С учетом того что ядро mysqld при старте занимает 376 мегабайт оперативки. + по 4.5 мегабайта на 1 коннект получаем нехватку оперативки.

ядро мускула можно задавить до 48 мегабайт, а потребление на один коннект до 2 мегабайт в итоге получаем при лимите 100 коннектов 248 мегабайт на mysqld и 264 магабайта под все остальное снижение быстродействия 0, шаблоны: nginx - cache, индейец - hosting. 5-10 коннектов с секунду, в зависимости от плагинов к движку, сервер выдержит
Я почитал ваши комментарии, и заметил из них, что все все делают не правильно. Может составите правильные конфиги для виртуалок с 512 ОЗУ, ну что бы вопросов не было?
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: MySQL падает
  • Quote

Post by demian » Thu May 29, 2014 7:49 am

неоднократно писал и разъяснял что и для чего

еще раз конфиг mysql для 512мб, настраивался не для движка вордпрес+даже для используемого движка настройки завышены. Подойдет и для штук 10 разных сайтов на вордпрессе.

для начала

Code: Select all

# free -m
             total       used       free     shared    buffers     cached
Mem:           512        255        256          0          0        132
-/+ buffers/cache:        122        389
Swap:            0          0          0
из статистики awast от сайта

Code: Select all

Month	  Unique visitors	Number of visits	Pages	Hits	Bandwidth
May 2014	48,271	67,396	231,293	665,894	153.22 GB

Code: Select all

# mysql -V
mysql  Ver 14.14 Distrib 5.5.37, for Linux (x86_64) using readline 5.1
сам конфиг скула

Code: Select all

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_connections=70
max_user_connections=30
wait_timeout=10
interactive_timeout=50
long_query_time=5

slow_query_log = 0 # дял включения лога установить 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 5
#log-queries-not-using-indexes

key_buffer_size = 16M
myisam_sort_buffer_size = 32M
join_buffer_size=1M
read_buffer_size=512k
sort_buffer_size=512k
table_cache=10k
thread_cache_size=128
max_allowed_packet=32M
max_connect_errors=1000
query_cache_limit=1M
query_cache_size=8M
query_cache_type=1
tmp_table_size=16M

#innodb_use_native_aio = 0
innodb_file_per_table
innodb_buffer_pool_size = 8M


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ну и наконец

Code: Select all

[--] Up for: 17d 11h 24m 30s
[OK] Maximum possible memory usage: 239.0M (46% of installed RAM)
ЗЫ: аптайм сбросился из-за перезагрузки для применения нового ядра, единственная перезагрузка с рестартом служб с момента запуска сервера. Серверу 5 месяцев.

ЗЫЫ:
хостинг: reg.ru
тариф: VPS-2
память: 512m
проц: 1 cpu
Виртуалка: openVZ
ОС: CentOC+Vesa Panel
Движок: самописка
Top

Lancaster
Posts: 43
Joined: Sun May 18, 2014 11:24 am

Re: MySQL падает
  • Quote

Post by Lancaster » Thu May 29, 2014 11:24 am

demian

Спасибо!

А на счет тех конфигов для nginx, которые были составлены выше для защиты от F5, что скажите?

З.Ы. Пост выше можно в шапке закрепить.
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: MySQL падает
  • Quote

Post by demian » Thu May 29, 2014 3:27 pm

лучше крутить iptables чтобы не доходило до nginx и уж не дай бог до индейца

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

от Ctrl+F5(организация ddos атаки в простонародье называемым "метод двух отверток" два компа сидящих на канале в 10мб каждый обычно валят 4 ядерный сервер с 16гигами оперативки) спасет только "бомба" - отправку соединения не в DROP илм REJECT, а в TARPIT или CHAOS, но сначало надо будет снять отслеживание соединения conntrack. Иначе сервер сам уйдет stackoverfoow. тогда атакующая система упадет сама, как только наберется 65636 открытых сокетов и это случится довольно быстро... а с учетом того что соединения TARPIT вешаются примерно на 30 минут можно будет не беспокоится

можете попробовать сами капнуть пока здесь https://www.rfxn.com/projects/advanced-policy-firewall/ и здесь https://www.rfxn.com/projects/brute-force-detection/
Top

filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Re: MySQL падает
  • Quote

Post by filippoff » Sun Jun 01, 2014 5:57 pm

Lancaster wrote:demian

А на счет тех конфигов для nginx, которые были составлены выше для защиты от F5, что скажите?

З.Ы. Пост выше можно в шапке закрепить.
Не помогут. Сам сейчас озаботился защитой от F5, школьники одолели. С вышеприведённым шаманством VPS 2ГГц и 2Гб памяти ложится секунды за 4. Вопрос то серьёзный, фактически, получается, что любая случайность может сайты уронить.
Top

imperio
VestaCP Team
Posts: 7000
Joined: Sat Dec 01, 2012 12:37 pm
Contact:
Contact imperio
Website

Re: MySQL падает
  • Quote

Post by imperio » Sun Jun 01, 2014 6:12 pm

У нас есть в планах создание шаблона с защитой от ddos. По срокам пока сказать не можем.
Top


Post Reply
  • Print view

229 posts
  • Page 10 of 23
    • Jump to page:
  • Previous
  • 1
  • …
  • 8
  • 9
  • 10
  • 11
  • 12
  • …
  • 23
  • Next

Return to “Сервер баз данных”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password