С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 16:58 |
Народ, вот такая проблема, иногда в работе сайта вылетает такое дело :
Can't connect to local MySQL server through socket
поотом всё нормально, сам лично видел вылет 3 раза, причём из разных скриптов. Почитал в нете, это обычно если мускуль вырубается, но он пашет, просто временами такую хрень выбрасывает.
Что это тако и как лечить ? Может кто сталкивался.
|
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 19/04/12 в 17:32 |
Лимиты коннектов может какие-то, или просто сервак не тянет и не успевает дать ответ за указанный в настройках таймаут или типа того.
|
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 17:38 |
А сколько коннектов должен иметь mysql для нормальной работы ?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 19/04/12 в 17:42 |
это от сервера зависит, от его параметров, загрузки, скриптов в конце концов.
Можно лимит и в миллион поставить, но просто мускуль со временем свалится в дикий своп и умрет.
Если дедикейт или впс, просить саппорт посмотреть возможность увеличить коннекшены. Если виртуал - то пробовать оптимизировать скрипты, что бы долго в базе не сидели.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 17:49 |
дэдик у меня, нубилес и кристал, вместе мускуль жрут. Сейчас количество тумб на морде уменьшил и вроде лучше стало, было 180, сделал 80. А где можно количество мах. мускульных соединений глянуть, phpinfo покажет ?
|
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 19/04/12 в 18:11 |
Сколько в нубилисе тумб вообще (не на морде, а в базе) ?
|
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 18:21 |
3500 примерно
|
|
|
|
С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506
|
Добавлено: 19/04/12 в 18:43 |
пхп скрипты как правило выдают Too many connections если не хватает соединений.
а в твоем случае сервер уже упал по какой-то причине. возможно у тебя наоборот лимит соединений сильно высокий и сервак не справляется.
текущие опции можно посмотреть в mysql или phpmyadmin sql-командой show variables. там вроде max_connections это называется.
поменять можно в файле /etc/my.cnf
еще смотри лог мускуля /var/log/mysqld.log
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 19/04/12 в 18:43 |
Eddy писал: | Сейчас количество тумб на морде уменьшил и вроде лучше стало, было 180, сделал 80 |
Число тумб вообще то не должно влиять на число соединений.
Может у тебя апач стоит и просто сжирается вся память, от чего мускуль свопит и соответственно медленно отрабатывает запросы в базе.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 18:57 |
а сколько соединений должно быть, на сколько я понимаю, если посетитель заходит на страницу, то база получает несколько запросов одновременно, ин надо вписать, реф и т.д потом ещё таблицу для морды сделать.
При большом количестве посетителей всё это начинает тормозить, ктото ждет долго морду, ктото вооще нифига не получает. Я несколько раз получал ошибку, что база недоступна.
Сколько у меня активных, я посмотрю. А сколько надо, оптимально ?
|
|
|
|
С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506
|
Добавлено: 19/04/12 в 19:01 |
Eddy писал: | А сколько надо, оптимально ? |
как писали это зависит от сервака.
щас я смотрю у меня стоит например 150 и на серваке примерно 50к pageviews daily.
но еще раз говорю, смотри лог, возможно дело вовсе не в этом лимите.
еще можно посмотреть mysqladmin proc оно выдаст текущие запросы к БД, и сколько секунд каждый длится, возможно у тебя есть тяжелые запросы которые все тормозят.
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 19/04/12 в 19:53 |
Eddy: хватит гадать на кофейной гуще. запости содержимое /etc/my.cnf и запости результат скрипта mysqltuner.pl
дальше, сколько физически занимает база мускуля? от этого зависит размер кэша. там все таблицы myisam или есть innodb ?
# cd /var/lib/mysql/
# du -ch */*.MYI
ну и последнее - сколько озу на серваке? что там у тебя в апаче и нгинксе даже не спрашиваю
|
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 21:59 |
у меня вообще фиг знает что происходит, load average 200.1, сервер перегружаю 0.18, потом растет постепенно, уже 50.6 писец
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 19/04/12 в 22:08 |
Eddy писал: | load average 200.1 |
тут телепатов нет. сделай то что я написал выше или хотя бы засвети cat /etc/my.cnf
|
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 22:14 |
[mysqld]
max_connections = 256
skip-networking
skip-name-resolve
myisam-recover
character-set-server = utf8
collation-server = utf8_general_ci
key_buffer = 32M
query_cache_size= 32M
query_cache_type= 2
#skip-bdb
#skip-innodb
#ignore-builtin-innodb
#default-storage-engine=MyISAM
max_heap_table_size = 67108864
[mysql]
default-character-set=utf8
|
|
|
|
С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506
|
Добавлено: 19/04/12 в 22:20 |
при LA 200 может мускуль вообще не при делах. он ляжет просто от перегруза сервера.
смотри че за процессы у тебя top показывает
если мускуль наверху то mysqladmin -uroot -p proc список запросов как я писал выше.
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 19/04/12 в 22:32 |
Eddy: вот тебе конфиг, замени у себя полностью секцию [mysqld]:
Код: [развернуть] | [mysqld]
skip-name-resolve
skip-networking
concurrent_insert=2
local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
expire_logs_days=7
init_connect='SET NAMES utf8'
character_set_server=utf8
collation_server=utf8_general_ci
tmpdir = /tmp/
slow_query_log=1
slow_query_log_file=/var/log/mysqld.log
back_log=120
skip-external-locking
log-bin=mysql-bin
binlog-format=ROW
max_connections=100
thread_concurrency=4
thread_cache_size=256
query_cache_type=1
query_cache_limit=40M
query_cache_size=256M
query_prealloc_size=65536
query_alloc_block_size=131072
key_buffer_size=180M
myisam_sort_buffer_size=64M
sort_buffer_size=2M
join_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=512K
net_buffer_length=8K
table_open_cache=1024
table_definition_cache=1024
tmp_table_size=256M
max_heap_table_size=256M
max_allowed_packet=32M
thread_stack=128K
bulk_insert_buffer_size=8M
net_read_timeout=12
net_write_timeout=15
wait_timeout=28800
interactive_timeout=28800
long_query_time=4
|
только обнули лог файл перед рестартом:
# :>/var/log/mysqld.log
если это не мускуль, то надо включить в апаче server-status и смотреть процессы.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 19/04/12 в 23:09 |
Я бы не заменял конфиг, а попросил админов оттюнить. Конфиг мускуля для каждого сервера разный, зависит от кучи ситуаций. И что работает на одном сервере, может дико косячить на другом.
А дефолтный конфиг мускуля сам по себе весьма не плох.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
1
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 19/04/12 в 23:10 |
это top, первое место у php
last pid: 10965; load averages: 12.29, 11.98, 9.18 up 0+00:26:22 20:03:09
129 processes: 13 running, 116 sleeping
CPU: 100% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle
Mem: 334M Active, 619M Inact, 278M Wired, 28K Cache, 212M Buf, 733M Free
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
7127 user 1 106 0 111M 28516K RUN 2 6:57 46.39% php
6538 user 1 106 0 111M 28508K CPU2 2 9:03 44.58% php
7514 user 1 105 0 111M 28548K RUN 0 5:51 43.26% php
4358 user 1 105 0 111M 28784K RUN 1 10:57 42.38% php
7327 user 1 105 0 111M 28548K RUN 0 6:42 40.77% php
6909 user 1 105 0 111M 28508K CPU1 1 7:56 39.06% php
6721 user 1 104 0 111M 28512K CPU3 3 8:18 38.09% php
2220 user 1 104 0 111M 28508K RUN 1 11:43 37.50% php
5540 user 1 104 0 135M 52064K RUN 3 9:54 35.35% php
3219 user 1 103 0 111M 28780K RUN 3 11:28 32.67% php
1154 root 1 76 0 12148K 4468K getblk 1 0:08 0.00% sendmail
1069 smmsp 1 44 0 12148K 5052K select 1 0:03 0.00% sendmail
990 mysql 22 44 0 157M 90620K sbwait 0 0:01 0.00% mysqld
540 root 1 44 0 6920K 1540K select 0 0:00 0.00% syslogd
10389 www 1 44 0 131M 24532K select 1 0:00 0.00% httpd
10300 www 1 44 0 132M 25344K accept 1 0:00 0.00% httpd
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 19/04/12 в 23:29 |
Eddy писал: | это top, первое место у php |
может ты все-таки включишь server-status ? или будем играть в экстрасенсов?
|
|
|
|
С нами с 27.12.03
Сообщения: 310
Рейтинг: 183
|
Добавлено: 20/04/12 в 00:19 |
Всем спасибо, теперь разъясню что это было.
Попросил человека сделать scj мультинишевый на этом-же сервере. У меня это вообще из головы вылетело. А он забил 10к галер и включил crop. Вот тут сервер со всеми мускулями и офигел, а я вместе с ним. Сервак стартуешь по новой и все нормально, пока crop не разгониться.
Нервный биз какойто блин.
|
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 20/04/12 в 00:28 |
Скрипт года, хули ты хотел ...
|
|
|
|