Сап, антоши, у меня огромная проблема, надеюсь на вашу помощь. Дано: есть сервер на digitalocean, туда установлена чистая debian, mysql, apache и всё (!). На сервере работает один сайт, (очень мало посещаемый) и еще несколько, которыми пользуюсь вообще только я один. На сервере 1 Гб оперативной памяти. Проблема следующая: постоянно зависает mysql сервер и у сайта пропадает связь с базой. Помогает только: /etc/init.d/mysql restart.
Я уже прописал эту команду в cron, так и живу. Сам процесс mysqld висит в процессах и после зависания, но база не работает. Сервер уже смотрели пара человек, которые якобы что-то понимают, но никто не видит ничего необычного. Я так живу уже год и устал терпеть, помогите пожалуйста понять, что происходит.
P.S. error-лога нет, но могу показать любые настройки сервера.
>>192 root@main-vps:~# tail -10000 /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 #
#skip-grant-tables 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 # # 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 = 3M query_cache_size = 32M # # 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 = 7 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
[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/
>>199 а, это двач так показал мне. нет, я не виндой создаю, я в терминале из под OS X нормально работаю с консолью)
сделал кароч.
root@main-vps:~# /etc/init.d/mysql restart [ ok ] Stopping MySQL database server: mysqld. [ ok ] Starting MySQL database server: mysqld .. [info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly..
>>207 давай подождем сутки, я посмотрю, зависнет ли теперь мускул, а если зависнет, то тогда уже буду накатывать MariaDB. Может деанонимся слегка? Джабер там, например.
>>219 -rw-r----- 1 mysql adm 0 Nov 2 03:10 mysql.err -rw-r----- 1 mysql adm 0 Nov 2 03:10 mysql.log -rw-r----- 1 mysql adm 20 Oct 31 07:35 mysql.log.1.gz -rw-r----- 1 mysql adm 20 Oct 30 07:35 mysql.log.2.gz -rw-r----- 1 mysql adm 20 Oct 29 07:35 mysql.log.3.gz -rw-r----- 1 mysql adm 20 Oct 28 07:35 mysql.log.4.gz -rw-r----- 1 mysql adm 20 Oct 27 07:35 mysql.log.5.gz -rw-r----- 1 mysql adm 20 Oct 26 07:35 mysql.log.6.gz -rw-r----- 1 mysql adm 20 Oct 25 07:35 mysql.log.7.gz
>>256 А то что если мы отбрасываем нагрузку, кривые пакеты из левых репов и хуиту в конфигах - остаютс только аппаратные проблемы и долбоебизм хостера, что в принципе одно и тоже... С тех пор, как я долбоебизм хостера начал ставить на первое место (т.к. у других с таким же софтом и конфигами всё пашет заебись) - голова моя болеть перестала совсем - я больше не трачу недели на решение нерешаемых проблем, а просто использую нормального хостера. Это я не к тому, что у тебя digitalocean - говно - не знаю про них нечго, а к тому, что 90% ебли ты можешь избежать если будешь более уверен в себе и перестанешь искать ощибки в конфигах, которых нету...
>>261 >digitalocean Поглядел - в 10 раз дороже. Очевидно, что hetzner - лучший хостер в мире, даже просто ЖД в моем сервере больше и дешевле ЛЮБОГО облачного файлохранилища. ЛЮБОГО.
>>281 двачую нет лучше бюджетного хостинга чем budgetvm а ДО - просто распиаренная параша, одна из десятков, но которой удалось набрать дохуя популярности
>>264 >дешевле ЛЮБОГО облачного файлохранилища Ну вот, спалил годноту.
Есть ещё OVH с их http://www.kimsufi.com/fr/ и http://www.soyoustart.com/ie/, но там саппорт абсолютно уебанский, если что вдруг понадобится, хрен добьёшься. Из совсем малоизвестной годноты - http://digicube.fr/rapidserveurs Взять там самый бюджетный конфиг (один хуй производительность не критична) и добавить к нему йоба-винтов, выйдет совсем дёшево.
>>290 и вообще, я последнее время убеждаюсь что если сервер ни для каких-то публичных служб - то лучше домашней пеки не найти в итоге ты заплатишь за электричество в 2 раза меньше, зато какая угодно мощь, диск, и т.д. сейчас поставил сиафайл на домашнюю пеку, и мне норм
root@main-vps:~# mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
>>294 Что он, интересно, вообще упал с концами? ps -Al | grep mysql И ничего не выдает? Метрика на сайте стоит? Можешь сказать когда упало, если уж логов нету? (и скинь всё что за эту ночь в /var/log понаписалось на rghost)
Короче, уже вижу, что тебе нужно добавить своп-файл по инструкции отсюда: http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/ - 256 метров не хватает и регулярно всё падает. И молись чтоб у тебя был виртуализатор Xen, ибо наебательский OpenVZ может посылать даже рута, т.к. жадный хостер запретил своп внутри клиентских контейнеров....
>>355 Да и так всё понятно - апач жирный слишком надо уменьшить количество его процессов где-то в конфигах найти и заменить нечто похожее на: <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 1 MaxSpareServers 2 MaxClients 20 MaxRequestsPerChild 10000 </IfModule>
>>357 МАКСИМАЛЬНОЕ СОМНЕНИЕ никогда сколько я не ставил апачи он не буйствовал с памятью на маленьких сайтах апач и мускул из коробок должны работать как часы, особенно на неслабой машине опа
>>363 Да нет же - просто сайтом управлять, на сайт ставишь - им же управляешь - ты поставь архив из >>354 - сам поймешь, ну или http://demo.1c-bitrix.ru/
Поскольку пизданутых идиотов будет только прирастать, излагаю концепт настройки mysql (из специальной книжки): настройки mysql не существует !
Хочешь сделать что-то результативное - тебе нужно стать программистом и понять чем же таким mysql занимается.
Потрепыхаться, конечно можно, но на результат не расчитывай. Большинство той информации, которую тут собирали три дня выдадут всего лишь две команды : pt-summary и pt-mysql-summary это скрепты и их надо скачать.
>>417 да это, блядь, книжка на которую молются mysqlдрочеры. серьезно тебе говорю. найди и прочитай :
>Возможно, вы заметите, что некоторый запрос выполняется медленно, и сумеете улучшить его, подправив один-два параметра, но заставить сервер работать на порядок быстрее удается крайне редко. Чтобы достичь такого результата обычно приходится пересматривать схему, запросы и всю архитектуру приложения.
>>417 то есть, конечно, процесс настройки имеет место, популярен и даже написаны какие-то программы имитирующие интеллект. но мнение профессионалов в том, что результативнее просто вприсядку подрочить.
>>419 Ну в этом есть своя правда, но блять, они одни конфиги для VPS с 256 метрами/одним посетителем в сутки и высоконагруженным порталом с десятками тысяч в день предлагают одни конфиги использовать - ну его на хуй
>>422 а почему, собственно, нет? Да, используй одни конфиги. Mysql не испорчен ! Запросы и индексы к нему могут быть испорчены.
Кстати, если у ж на то пошло, то есть еще неплохой набор советов от Bitrix как настраивать mysql. Например, там предлагается без объяснения причин выключить к хуям надежную фиксацию транзакций . Разумеется, это очень результативно. Буферизация же. Хорошо это или плохо? Для говносайта в 99% - хорошо. Просто разъяснений хотелось бы для обычных вебмастеров, что это опасно и не по-субдшном.
>>424 Админской магии, очевидно. на второй гифке более "честное" сравнение между центос и генту, собранной и запущенной в chroot в том же самом центос на том же железе (и даже без необходимости перезагрузок)
>>426 непонятные картинки и я люблю запостить. опиши конкретно что ты там поменял и какие настройки считаешь ответственными за фантастическое увеличение производительности и почему.
>>425 >Просто разъяснений хотелось бы для обычных вебмастеров, что это опасно и не по-субдшном. Всё правильно делают - веб-мастерам нахуй и не нужны все возможности даже такой базовой БСД, как mysql. И в пизду ваш http://en.wikipedia.org/wiki/ACID - те кому он может понадобится твоей книжкой жопу вытирают, т.к. oracle юзают а не mysql
>>433 >5K заработаю с чела за настройку сервака удивляет, что на это кто-то ведется. Постоянные клиенты которых ты один раз развел?
единственное, что нужно ОПу и так настроено вот этот совет >>357 УЖЕ в образах FastVPS учтен. Серьезно. Хостинг прогрессирует. nginx можно корректно поставить просто потыкав в ispmanager
>>443 >Постоянные клиенты которых ты один раз развел? Один развел, в игнор добавил, потом даже блять на другом сайте находят и молят продолжать работу, т.к. все остальные полные лохи, включая московские компании.
>>445 Да по-хуй на тест производительности, я разработкой занимаюсь а не серверами и их настройкой. Просто это я тоже умею, т.к. кучу проектов на битриксе веду - но как отдельная услуга - лучше не заморачивайся даже, битрикс тормозит в 90% случаев из-за говнокода, который никаким сервером не исправишь
>>448 Так я про mysql ничего и не говорю, там даже на гифке цифры примерно одинаковые. Но вот комплексная настройка всего остального неплохой результат даёт (правда вычистить говнокод из компонентов и шаблонов всё равно в 100 раз эффективнее)
>>450 Не стесняешься заряжать нормальные суммы - клиенты с битриксом это не нищеброды на джумле, у них бабло есть, тем более если москвичи. Имей в виду что сайт магазин на битриксе без дизайна от 120 кусков стоит в самой задрипанной говнофирме.
я вижу там на каждое предложение ответы от пользователей с плашкой ЭКСПЕРТ и 20+ портфолию, а снизу серым полупрозрачным ЛОЛ хуй без плашек и без портфолио.
>>452 >такая хуйня только на битриксе? да, такая хуйня только на битриксе, т.к .он платный. С нищебродами и бесплатными движками лучше даже не связываться - все мозги выебут за свои 500 рублей
>>456 > там новичкам перепадает что-нибудь? Ну я когда начинал, тоже перепадало. Весь секрет в длинных развернутых ответах на предложение о вакансии - 90% фрилансеров даже не заморачиваются, а копипастят одно и тоже везде (или там пишут: "мой скайп: такой-то, пишите") - естественно их игнорят. Ну и еще я предоплату никогда не беру, т.к. на своем серваке всё делаю и хуй у меня кто что спиздит (хотя с клиентами на Битриксе таких проблем никогда не было - они все готовы платить нормальное бабло за нормальных специалистов)
>>458 Я делаю комплексные бизнес-решения используя Bitrix Framework, короче не получается. Да, Битрикс это PHP, но следует использовать API и вообще понимать что сайт клиенту нужен для зарабатывания бабла, а не для любования.
Короче, главное побольше умных слов, терминов, названий и сокращений в ответе работодателю - один хуй они ничего не понимают, но чем больше они не поймут конкретно в твоей заявке - тем выше вероятность получения заказа
>>462 >используй жиру алсо, даю годный совет если ты будешь писать что принимаешь задачи в жире и кидать инвайт им на мыло - то будешь выглядеть ещё круче
>>465 Сейчас только ТЗ буду писать за 25K, планирую vmware vsphere, вообще это не по битриксу задача чуть-чуть (склик яндекса), но я админку на битриксе буду делать..
>>468 Я с запасом время назначаю, алсо пытайся через саму систему фриланса делать только проекты где ты в результате на 100% уверен, чтоб тебе отзывов хуёвых не наставили. У меня 85% безо всякого учета во фрилансе проектов идут - после общения в скайпе с работодателем по заявке - никто не хочет заморачиваться с рабочими областями и прочей хуитой... Алсо, 90% дают рута к серваку всем подряд - меня это всегда забавляло
>>470 (ну конечно учитывая, что я это всё уже не раз делал на других сайтах и могу код копипастить) - без знакомства с Битриксом, но зная PHP - наверное за 2 дня как раз можно управится
>>469 >пытайся через саму систему фриланса вряд ли я буду этим заниматься на работе так дрочат что по вечерам не осилю, а увольняться - хуй знает как пойдёт это всё
выглядит очень сложно, у меня то только базовый пхп-кодинг+жквери, разносторонние задачи не осилю
когда процессов apache плодится много они отнимают память, " вымывают" кеш данных из ОС. Дальше процесс развивается лавинообразно и нужные процессы загоняются в своп до полного заторможения всего. Тут главное предел установить. На вскидку для твоего 1 гб будет достаточно MaxClients 20. Так же было бы неплохо установить nginx, который берет на себя всю работу с клиентами и разгружает apache еще больше. Это выглядит как непонятная хуета от русских админов, но на самом деле очень практичная хуета.
>MaxRequestsPerChild 10000 тоже достаточно важный момент потому, что динамическая память процесса в unix (обычно)растет вверх и уменьшаться не может. Один сложный скрипт на php сдвигает (pbrk) планку вверх, а назад не сдвигает. Поставь ну, скажем,500 и не более чем через 500 запросов процесс завершится и точно освободит эту память.
>>504 чтобы ты это запустил. хуй поймешь кто тут что пишет . а уж мудак который текстовые конфиги картинкой вставляет вообще отбил охоту что-то писать.
>>509 >а уж мудак который текстовые конфиги картинкой вставляет Это же ОП, которому мы всем тредом помогаем, он где-то тут написал что он - деревянный в вопросах конфигурирования серваков, так что хули ты хочешь
>>514 давай уж, сука, скрепты запускай. как тут отгадать что у тебя там за пиздец? сам удивишься как много о твоем говне информации они собирают
еще поставь atop в режиме записи статистики. убедись что в /var/log/atop/ создаются логи и интервал даже можно сделать не 600 а секунд по 60. это САМЫЙ простой способ мониторинга, но довольно информативный. потом выложи файл за день и аноны (ну конечно же это буду я) посмотрят что там происходит до зависания и во время. Секретной инфы в этих логах не будет.
>>516 Поставил atop, работает, логи пишет. Но нельзя забывать, что на сервере есть рабочий сайт и он довольно важен для меня, поэтому в кроне прописан ребут мускула каждый час, чтобы сайт не упал надолго.
>>565 В смысле делаешь бэкап сайтов и баз данных mysql, потом удаляешь свою VPS на фиг и создаешь новую, куда потом обратно восстанавливаешь сайт из сделанного бэкапа.
Я выше написал вот эту простынь и нашел вот этот провославный тхреад, значит у меня по моему та же хуйня...
вот моя стори
Итак у меня беда, перевел я свой сайт на выделенный сервер, так как постоянно на старом тарифе мне врубали перегрузку и выключали меня нахуй на сутки, и вот я разбил свою копилку, и заказал это чудо, и столкнулся с полным пиздецом - ну во первых я долго ебался с переносом, но то ладно, но теперь когда я перешел то мне постоянно пишут вот такой месседж - Ошибка установки соединения с базой данных, а в почту пишут месседжи о том что не хватает оперативы, у меня
Цена в месяц 1749 руб. Диск 25.0 ГБ Использование диска 3.4 Гб Использование файловой системы 88258 объектов файловой системы из 1500000 (5.88%) Процессор 2x2000 МГц Память 2048 МБ ОС centos6_php_selector-x86_64_isp_lite
какого хуя на стром дрочёвом тарифе за 500 рублей этой хуйни не было, а сейчас я сосу этот хуй, перегрузка сервера оживляет сайт но ошибка эта не куда не уходит, в поддержку писал, они типо решают, есть еще чуть лаве на переход на тариф за 3 к рублей там 4 гига оперативы, НО БЛЯТЬ НЕ ФАКТ ЧТО МЕНЯ ЕЩЕ ГДЕ-ТО не наебут!
ПРОШУ ДАТЬ СОВЕТ!!!они меня заебали доить!
всю консольную хуиту я не осилю, я убунтоёб, а мы неасиляторы консолички, пишите по харду чо блять делать...
>>189 (OP) Ты это. Скрипты обращения к базе покажи что ль. Есть такое нехуевое предположение, что ты коннекты не закрываешь. mysql_close_connetcion (или как то так) Вот у тебя сокеты на mysqld и кончаются. Вот и кажется тебе, что "висит".
А вообще по факту. есть веб сервис на локалке. мутит лютый тестинг сети на доступность всего и вся в 3х вланах. И пердолит соответствующим образом mysql для логирования. Каждая "доступность" обмазывается в отдельном фрейме => 1к+ коннектов и выполнение скрипта по 30 секунд. Так вот. Отрубалась разве что мозилла тормозилла. Апачу как и мускулю класть на такую мелочь. 1гб ОЗУ 2 ядра ссд без свопа. Главное писать ровно и вовремя все подчищать за собой на стороне сервера.