pupseg: канал между веб-сервером и сервером базы данных должен быть вменяемый. в идеале - как минимум в одном ДЦ. если веб-морда будет в одном месте, а база где-нибудь в европе - то у вас все умрет окончательно
Ну я посмотрю там же где и хост .. и проверю будет ли работать НО еще может быть так что админы запритили коннект извне.. вот это подстава будет.. нужно писать тикет... т.е если внешнее подключение запрещено хотя можно проверить
ziliboba0213: Спросите у хостера, как я писал выше. Адекватные администраторы сразу укажут на страницу, которая грузит или на запрос который грузит. Все остальное - гадание на кофейной гуще.🍿
Так я нашел ! в логах - там пишет тип ошибки - и номер строки по этому номеру идет один майскул запрос..
pupseg: в таком случае, как выше писал:
найдите проггера, и тупо ему "я жмакаю туда то и туда то, а оно тупит, потом туда то - а оно долго думает, месяц назад - было быстрее". проггер смотрит - мало ли ему коннекций к инстансу базы данных, или медленно у него пишет диск, или может быть у него кеширующие модули переполняют диск\память. Параллельно - просите поддержку хостинга: "уважаемый, дам пиастров, посмотри внимательно. Сайт у мення тупит, в чем дело? че к чему ? вот контакты проггера: <icq>, <skype>". ну а далее - уже будет все видно.
может у хостера тупо какие-нибудь max_connections в /etc/my.cnf не туда стоят, или client_max_body_size в nginx.conf и тд.
Кеша нет.
Ну вот обратно я в тупике, т.е если я дам прогеру скрипт ошибка может и не выясниться.. так как может быть лимитировани со стороны хостера.
Хотя вот я тут подумал - еще можно сделать по другому - взять на время vpn с базой просто происталировать там бд - и попробовать в час пик что будет - т.е я сделаю базу данных внешней можно так сказать т.е хост будет в одном месте бд в другом может будет чуть медленне но посмотрим будет ли падать или нет (ну как вариант)... просто по другому не знаю как сделать
т.е я щас хочу понять по какому пути идти что бы все поставить на свои места
pupseg: для этого покажите ваш проект как минимум программисту и договоритесь за, возможно, отдельную плату с тех-поддержкой вашего текущего хостинга, что бы администратор уделил время и совместно с вашим программистом посмотрели пристально на ваш проект. его узкие места и т д. В то же время, если у Вас проект растет, или вы прогнозируете его рост - я всегда клиентам рекомендую делать все заранее и правильно. Перевозить ПОТОМ монструозный проект, который делали разные люди - очень дорого.
Приведу пример: сайт, посвященный недвижемости. Доска объявлений в начале работы в 2008 году. Был портальчик. По прошествии 6 лет стал монструозным проектом, в своей нише стал чем то вроде auto.ru (не реклама, просто в данонм случае сравнение удачно). Разрабатывался разными группами проггеров, несколько раз менял вектор развития. Итог - мы уперлись в мощности, в возможности датацентра, в возможности людей. Срочно нужно переделывать, собственник проекта - готовит деньги. Нужно переделывать все правильно. Арендовать другое оборудование, или покупать свое, искать проггеров, которые начинали, соединять их в плотное звено с теми проггерами, которые сопровождают, искать еще одного двух администраторов и т д. Причина "бардака" в том, что отсутствует вектор развития , минимальное планирование и т д.
Это я к тому - что вы для себя определитесь , накидав на бумажке: что вы видите через полгода, через год. Если же у вас просто сайтик для сео-заработка - то можно арендовать впс, настроить его и просто поддерживать жизнедеятельность.
PS: по ряду причин я пишу обтекаемо. на этом форуме находятся и мои заказчики, и мои исполнители и т д. поэтому я не могу назвать "правильных"\"надежных"\"самых лучших" хостеров, привести примеры тех или иных проектов, "порекомендовать по свойски" тех или иных проггеров, кодеров и Программистов или Администраторов и т д. Последнее не случайно с большой буквы. так как среди тех или других есть как проггеры , а есть Программисты, и есть админы или Администраторы. Разница - есть.
Интересно пишите, та же история только вот все дело в том что мне выбирать план развитие, можно выбрать и крупный (как вы описали выше, но этим реально нужно заниматься уделять кучу времени, + находить за ранее людей а если возможность только онлайн поиска так это еще проблематичней..) т.е хотелось бы но.. нет пока таких средств и знаний.. просто хочеться что бы работал более мение без ошибок типа упала бд из за нного не большого количества онлайн юзеров, как полагаю придеться мне просто зазобраться код по полочкам и отдать програмисту на анализ и тестирование (вот уже придеться искать кондидатуру) потому думаю сделать план развитие... ну а там будет видно - вообщем это все очент интересно но единсвенное что не хочеться рисковать вот сразу сервера и пошло поехало при том всем что ты сам ничего в этом не соображаеш особо :) Моя задача в этом деле конечно другая - сео но дело в том что я один :(
pupseg: я взял очень приближенно. можно как пойти в хецнер со своими последствиями, так и в россию со своими последствиями для проекта. все зависит от страны, цен на интернет итд. вот цены у одного крупнейшего оператора связи с мировым уровнем и очень качественным сервисом. цены - как видите. Например та же Малайзия - островное государство, интернет в транс-континентальных океанских кабелях, спутниковых каналах. стоит баснословных денег. Там полумертвый vps в 80-100$ выходит.
ориентироваться - на наличие компании, техническую поддержку, желательно - русско-говорящую, на каналы связи, на аферту и регламент при регистрации у датацентра (читать его, а не ставить бездумно галку "я принимаю условия"). на оперативность замены комплектующих. понимать - что интернет - не бесплатен. Если пишут "unmeterred" на трафик - это значит что его или сколько то объемов включено в тариф, или оговорен конкретный объем. гарантированных 100мбит\с без ограничений не бывает за копейки.
Да но стоит ли оно того, к примеру если я возьму сервер а ошибка была в коде или плохой оптимизации - т.е я купил получаеться большую клетку для маленького слона которого нужно прокормиться и вырости до обьемов клетки.. ну я суть думаю понятна...
Маркус: Запрос к БД обычно отправляют через функцию mysql_query(). Можно поискать её текстовым поиском по всем файлам.
А с файлом можно работать, например, так: $f = fopen( 'путь к лог файлу', 'a' ); //открываем файл на добавление fputs( $f, '.' ); //пишем точку, как счётчик $fclose( $f ); //закрываем файл
После открытия HTML-страницы в браузере смотрим сколько точек попало в файл. Количество точек = размер файла в байтах.
Фокусы какие то - сегодня или уже завтра попробую сделать это.
Еще вопрос, к примеру если я сам не очень разберусь с этим всем, можно мне тогда просто отдать саму цмс какому нибудь... програмисту который глянить все и настроит что бы все работало как нужно ? но без БД естесвенно.. ? т.е в бд оставлю пару записей тестовых и все ?
Или нужно обьязательно иметь всю бд - но сами понимаете давать кому то бд.. это не хорошо
---------- Добавлено 24.02.2014 в 21:19 ----------
kgtu5: ТС может все же в одной теме обсуждать /ru/forum/839543 ???
---------- Добавлено 24.02.2014 в 20:53 ----------
их не
надо, а исправлять...
Ну вообще то я думал это из за плохой оптимизации такие ошибки выходят.. оказуеться это ошибка в коде ? но сайт работает нормально только иногда вот такие ошибки и падает бд - вообщем я попробую со счетчиком потом напишу
Вообщем сделал я ТЕСТ
Поместил запись в файл точки именно где есть SQL = запрос
И одна точка там записалась.
Т.е один раз зашел одна точка.
И так уже в 2 скриптах где есть запросы по точке, т.е одна точка один запрос (заход на страницу)
Я думаю может у меня кто то ворует контент ?? из за этого падает бд ? т.е кто то парсит мой сайт и лажиться бд ?
Тогда как можно просто отсеить по кол запросов ? т.е если много запросо идет с одного айпи мы его блокируем ?
pupseg: пример среднего проекта, ооооочень грубая прикидка, все очень округлено.
50-70тыс посещений в сутки. DLE-движок.
сервер - 100евро
админ - 100евро
программист, который не посвещает все время этому проекту, но присматривает за ним - 150 евро.
- внешнее хранилище данных, для проверенного хостинга бакапов - 20евро. (не лиж бы дешевое с побольше места, а гарантированно надежное, без ответов саппорта "сгорел диск" и без слов "мы не несем ответственности за ..." в оферте)
- мониторинг какой нибудь ping-admin - 10 евро.
итого 380евро по очень грубым прикидкам - себестоимость.
как меньше сильно может быть, так и больше.
Т.е в мес 380 Евро - да я думаю это не очень дорого... хотя цен вроде не припомню я за 100 евро сервер..
А что выбирать при покупке сервера ? т.е на что орьентироваться ?
Маркус: Ага, т.е. падение могло быть не по вине вашего сайта, а по вине какого-то другого сайта, который положил СУБД хостера?
С вашей CMS я не знаком, поэтому не скажу, как именно подсчитать число запросов БД. Но если бы такая задача была поставлена...
1) Разворачиваем сайт на Win- Denwer
2) разворачиваем реальную базу с сайта
3) ищем в скриптах место, в котором РНР обращается к MySQL, и ставим там инкрементирующий счётчик. Например, пишем в файл строчку. По окончании загрузки страницы открываем файл и считаемч число строк. (Если есть время разобраться с CMS, то можно и более красивый счётчик сочинить)
4) повторяем процедуру для разных страниц. Записываем результаты измерений.
А поподробней можно на счет счетчика ? остальное уже все есть реальная база - и денвер и сама цсм - готов приступить к понятию и поиска проблемы - еще я глянул в логах сервера (хостера)
В каком скрипте ошибка базы данных и ее строка
PHP Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in
HP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Что нужно сделать ? - найти код запроса - как выявить сколько времени требуеться и можно ли оптимизировать это ?
pupseg: - понять узкое место вашего проекта.
- просить\требовать изучения со стороны сервера у текущего хостера. что грузит ? диск? память, скрипты тяжелые? база данных? миллионы файлов в одной папке ?
- понять - что вы хотите от сервера, а может быть нужна группа серверов ? может быть экономически выгоднее иметь вообще свое оборудование.
- составить план миграции на другие мощности.
- выбрать, арендовать сервер(ы)
- основываясь на плане миграции - переносить данные. Есть проекты - которым терпимо полежать час полтора при миграции, а есть - которым и 10 минут лежать - не приемлемо.
- иметь\нанять группу программистов или одного человека, зависит от ваших масштабов. который будет сопровождать ваш код.
это 1% действий при комплексном подходе к проблеме. 90% непосвященных уверены - что "если настроить mysql\nginx\httpd - все будет летать". на самом деле - вся серверная оптимизация дает 10-15-20% производительности в целом, но открывает горизонты проггерам для масштабирования своего проекта. Поэтому, повторюсь, внимательно изучите ваш код.
- бюджет опять же.
- выбор времени дауна, если согласно плану он предусмотрен.
- оценка ваших потерь. что будет если криво переедите\часть данных потеряете?
- если все пойдет плохо- как быстро и безболезненно вернуться назад для второй попытки переезда. и тд.
по своему опыту в уже почти 10 лет - не отвечаю за уважаемых коллег, но могу сказать, что а. хороший программист(ы), б. наличие понимания и плана - решают.
если же у вас десяток сайтов на каком-нибудь ДЛЕ и вы переживаете "а как же яндекс и сапа" - то можете не читать, что выше написано :) в 90% случаев подобные сайты переносятся за 20 минут(не считая времени на перекачку какой-нибудь папки "upload", если таковая есть). Хотя видел лично я несколько проектов, которые на wordpress, DLE, joomla, от движка которых остались только одни названия. код там писан\переписан и вовсе не похож с первого раза на ДЛЕ и т д.
PS: по деньгам на рынке услуг - от 15$\час , до сотен и тысяч долларов.
Спасибо, но до таких размеров как вы описали выше еще далеко, но хотелось бы увидеть примеры средних проэктов к примеру - сайты обьявлений - типа эбай - т.е интересно какая у них инфоструктура т.е как построенно все - понимаю что это все у всех по разному но если средний сайт какую нагрузку должен выдерживать - к примеру я куплю VPS на что нужно полагаться - (на счет настройки еще не в курсе) т.е мне как бы нужен переходной уровень - но проблема еще как мне кажеться и в самом коде - так как из за 25 юзеров онлайн я думаю наврятли бы падала бд.. хотя кто знает..
Вообщем посмотрел я лог вот что там за ошибки..
PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Указаны строки запросов, но что толку что я на них смотрю я все равно не знаю как их оптимизировать или хотя бы потестировать или что то самому преприняться для начала -
Может после того как (если они не оптимизированны) после оптимизации все будет нормально работать то еще можно пожить не много но все равно потом переезжать на VPS
---------- Добавлено 24.02.2014 в 20:10 ----------
WapGraf: Проще говоря необходим сервер с администрированием. Тогда у вас не будет головной боли по переходу из хостинга на дедик.
Так и денег я думаю за сервер не мало нужно это раз -
А во вторых если я сам мало что понимаю как я администратировать буду ?
Ну по мануалам там буду рабираться по не многу но это времени куча...
Маркус: nomarketing, лично я бы начал диагностику с общего числа SQL-запросов, которые выполняются, чтобы сформировать страницу. Бывает так: думаешь, что там 5-10 небольших запросов. А на самом деле оказывается 900-1000. Причём 90-95% из них просто лишния.
У вас есть возможность отследить, сколько SQL-запросов выполняется при формировании страниц?
---------- Добавлено 24.02.2014 в 20:31 ----------
Следующее, что приходит в голову — проверить железо. Винчестеры имеют обыкновение через 4-6 лет работать жутко медленно. Бывает и так: в коде ничего не меняешь, но на новой винчестере БД летает, а на старом — глохнет.
Далее я бы использовал утилиту innotop в период пиковых нагрузок. Утилита в реальном времени показывает долго выполняющиеся запросы.
Для этой же цели можно переконфигурировать MySQL. В my.cnf прописать логгирование медленных запросов. Порог поствить, например, 10 или 15 секунд — если запрос выполняется дольше порога, он будет записан в лог-файл. Если в лог файл ничего не попадает, то понижаем порог.
Сайт - на обычном хостинге где хостяться еще сайты - но когда были проблемы раньше - чаще - хостер говорил что бд падает из за запросов.
Отследить ? - у меня есть сайт на локальной машине win - denwer.. - может как то можно локально проверить или самому как то сгенерировать что то типа нагрузки и выловить где ошибка и сколько держит ? - ну или не знаю.. но на данный момент ситуация такова..
---------- Добавлено 24.02.2014 в 19:41 ----------
ivan-lev: nomarketing, CMS какая?
Довольно часто есть встроенные средства "профайлинга" - как общее количество/время запросов, так и детализация по каждому запросу.
канал между веб-сервером и сервером базы данных должен быть вменяемый. в идеале - как минимум в одном ДЦ. если веб-морда будет в одном месте, а база где-нибудь в европе - то у вас все умрет окончательно
Ну я посмотрю там же где и хост .. и проверю будет ли работать НО еще может быть так что админы запритили коннект извне.. вот это подстава будет.. нужно писать тикет... т.е если внешнее подключение запрещено хотя можно проверить
Спросите у хостера, как я писал выше. Адекватные администраторы сразу укажут на страницу, которая грузит или на запрос который грузит. Все остальное - гадание на кофейной гуще.🍿
Так я нашел ! в логах - там пишет тип ошибки - и номер строки по этому номеру идет один майскул запрос..
в таком случае, как выше писал:
найдите проггера, и тупо ему "я жмакаю туда то и туда то, а оно тупит, потом туда то - а оно долго думает, месяц назад - было быстрее". проггер смотрит - мало ли ему коннекций к инстансу базы данных, или медленно у него пишет диск, или может быть у него кеширующие модули переполняют диск\память. Параллельно - просите поддержку хостинга: "уважаемый, дам пиастров, посмотри внимательно. Сайт у мення тупит, в чем дело? че к чему ? вот контакты проггера: <icq>, <skype>". ну а далее - уже будет все видно.
может у хостера тупо какие-нибудь max_connections в /etc/my.cnf не туда стоят, или client_max_body_size в nginx.conf и тд.
Кеша нет.
Ну вот обратно я в тупике, т.е если я дам прогеру скрипт ошибка может и не выясниться.. так как может быть лимитировани со стороны хостера.
Хотя вот я тут подумал - еще можно сделать по другому - взять на время vpn с базой просто происталировать там бд - и попробовать в час пик что будет - т.е я сделаю базу данных внешней можно так сказать т.е хост будет в одном месте бд в другом может будет чуть медленне но посмотрим будет ли падать или нет (ну как вариант)... просто по другому не знаю как сделать
т.е я щас хочу понять по какому пути идти что бы все поставить на свои места
для этого покажите ваш проект как минимум программисту и договоритесь за, возможно, отдельную плату с тех-поддержкой вашего текущего хостинга, что бы администратор уделил время и совместно с вашим программистом посмотрели пристально на ваш проект. его узкие места и т д. В то же время, если у Вас проект растет, или вы прогнозируете его рост - я всегда клиентам рекомендую делать все заранее и правильно. Перевозить ПОТОМ монструозный проект, который делали разные люди - очень дорого.
Приведу пример: сайт, посвященный недвижемости. Доска объявлений в начале работы в 2008 году. Был портальчик. По прошествии 6 лет стал монструозным проектом, в своей нише стал чем то вроде auto.ru (не реклама, просто в данонм случае сравнение удачно). Разрабатывался разными группами проггеров, несколько раз менял вектор развития. Итог - мы уперлись в мощности, в возможности датацентра, в возможности людей. Срочно нужно переделывать, собственник проекта - готовит деньги. Нужно переделывать все правильно. Арендовать другое оборудование, или покупать свое, искать проггеров, которые начинали, соединять их в плотное звено с теми проггерами, которые сопровождают, искать еще одного двух администраторов и т д. Причина "бардака" в том, что отсутствует вектор развития , минимальное планирование и т д.
Это я к тому - что вы для себя определитесь , накидав на бумажке: что вы видите через полгода, через год. Если же у вас просто сайтик для сео-заработка - то можно арендовать впс, настроить его и просто поддерживать жизнедеятельность.
PS: по ряду причин я пишу обтекаемо. на этом форуме находятся и мои заказчики, и мои исполнители и т д. поэтому я не могу назвать "правильных"\"надежных"\"самых лучших" хостеров, привести примеры тех или иных проектов, "порекомендовать по свойски" тех или иных проггеров, кодеров и Программистов или Администраторов и т д. Последнее не случайно с большой буквы. так как среди тех или других есть как проггеры , а есть Программисты, и есть админы или Администраторы. Разница - есть.
Интересно пишите, та же история только вот все дело в том что мне выбирать план развитие, можно выбрать и крупный (как вы описали выше, но этим реально нужно заниматься уделять кучу времени, + находить за ранее людей а если возможность только онлайн поиска так это еще проблематичней..) т.е хотелось бы но.. нет пока таких средств и знаний.. просто хочеться что бы работал более мение без ошибок типа упала бд из за нного не большого количества онлайн юзеров, как полагаю придеться мне просто зазобраться код по полочкам и отдать програмисту на анализ и тестирование (вот уже придеться искать кондидатуру) потому думаю сделать план развитие... ну а там будет видно - вообщем это все очент интересно но единсвенное что не хочеться рисковать вот сразу сервера и пошло поехало при том всем что ты сам ничего в этом не соображаеш особо :) Моя задача в этом деле конечно другая - сео но дело в том что я один :(
я взял очень приближенно. можно как пойти в хецнер со своими последствиями, так и в россию со своими последствиями для проекта. все зависит от страны, цен на интернет итд. вот цены у одного крупнейшего оператора связи с мировым уровнем и очень качественным сервисом. цены - как видите. Например та же Малайзия - островное государство, интернет в транс-континентальных океанских кабелях, спутниковых каналах. стоит баснословных денег. Там полумертвый vps в 80-100$ выходит.
ориентироваться - на наличие компании, техническую поддержку, желательно - русско-говорящую, на каналы связи, на аферту и регламент при регистрации у датацентра (читать его, а не ставить бездумно галку "я принимаю условия"). на оперативность замены комплектующих. понимать - что интернет - не бесплатен. Если пишут "unmeterred" на трафик - это значит что его или сколько то объемов включено в тариф, или оговорен конкретный объем. гарантированных 100мбит\с без ограничений не бывает за копейки.
Да но стоит ли оно того, к примеру если я возьму сервер а ошибка была в коде или плохой оптимизации - т.е я купил получаеться большую клетку для маленького слона которого нужно прокормиться и вырости до обьемов клетки.. ну я суть думаю понятна...
Запрос к БД обычно отправляют через функцию mysql_query(). Можно поискать её текстовым поиском по всем файлам.
А с файлом можно работать, например, так:
$f = fopen( 'путь к лог файлу', 'a' ); //открываем файл на добавление
fputs( $f, '.' ); //пишем точку, как счётчик
$fclose( $f ); //закрываем файл
После открытия HTML-страницы в браузере смотрим сколько точек попало в файл. Количество точек = размер файла в байтах.
Фокусы какие то - сегодня или уже завтра попробую сделать это.
Еще вопрос, к примеру если я сам не очень разберусь с этим всем, можно мне тогда просто отдать саму цмс какому нибудь... програмисту который глянить все и настроит что бы все работало как нужно ? но без БД естесвенно.. ? т.е в бд оставлю пару записей тестовых и все ?
Или нужно обьязательно иметь всю бд - но сами понимаете давать кому то бд.. это не хорошо
---------- Добавлено 24.02.2014 в 21:19 ----------
ТС может все же в одной теме обсуждать /ru/forum/839543 ???
---------- Добавлено 24.02.2014 в 20:53 ----------
их не
надо, а исправлять...
Ну вообще то я думал это из за плохой оптимизации такие ошибки выходят.. оказуеться это ошибка в коде ? но сайт работает нормально только иногда вот такие ошибки и падает бд - вообщем я попробую со счетчиком потом напишу
Вообщем сделал я ТЕСТ
Поместил запись в файл точки именно где есть SQL = запрос
И одна точка там записалась.
Т.е один раз зашел одна точка.
И так уже в 2 скриптах где есть запросы по точке, т.е одна точка один запрос (заход на страницу)
Я думаю может у меня кто то ворует контент ?? из за этого падает бд ? т.е кто то парсит мой сайт и лажиться бд ?
Тогда как можно просто отсеить по кол запросов ? т.е если много запросо идет с одного айпи мы его блокируем ?
пример среднего проекта, ооооочень грубая прикидка, все очень округлено.
50-70тыс посещений в сутки. DLE-движок.
сервер - 100евро
админ - 100евро
программист, который не посвещает все время этому проекту, но присматривает за ним - 150 евро.
- внешнее хранилище данных, для проверенного хостинга бакапов - 20евро. (не лиж бы дешевое с побольше места, а гарантированно надежное, без ответов саппорта "сгорел диск" и без слов "мы не несем ответственности за ..." в оферте)
- мониторинг какой нибудь ping-admin - 10 евро.
итого 380евро по очень грубым прикидкам - себестоимость.
как меньше сильно может быть, так и больше.
Т.е в мес 380 Евро - да я думаю это не очень дорого... хотя цен вроде не припомню я за 100 евро сервер..
А что выбирать при покупке сервера ? т.е на что орьентироваться ?
Ага, т.е. падение могло быть не по вине вашего сайта, а по вине какого-то другого сайта, который положил СУБД хостера?
С вашей CMS я не знаком, поэтому не скажу, как именно подсчитать число запросов БД. Но если бы такая задача была поставлена...
1) Разворачиваем сайт на Win- Denwer
2) разворачиваем реальную базу с сайта
3) ищем в скриптах место, в котором РНР обращается к MySQL, и ставим там инкрементирующий счётчик. Например, пишем в файл строчку. По окончании загрузки страницы открываем файл и считаемч число строк. (Если есть время разобраться с CMS, то можно и более красивый счётчик сочинить)
4) повторяем процедуру для разных страниц. Записываем результаты измерений.
А поподробней можно на счет счетчика ? остальное уже все есть реальная база - и денвер и сама цсм - готов приступить к понятию и поиска проблемы - еще я глянул в логах сервера (хостера)
В каком скрипте ошибка базы данных и ее строка
PHP Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in
HP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Что нужно сделать ? - найти код запроса - как выявить сколько времени требуеться и можно ли оптимизировать это ?
- понять узкое место вашего проекта.
- просить\требовать изучения со стороны сервера у текущего хостера. что грузит ? диск? память, скрипты тяжелые? база данных? миллионы файлов в одной папке ?
- понять - что вы хотите от сервера, а может быть нужна группа серверов ? может быть экономически выгоднее иметь вообще свое оборудование.
- составить план миграции на другие мощности.
- выбрать, арендовать сервер(ы)
- основываясь на плане миграции - переносить данные. Есть проекты - которым терпимо полежать час полтора при миграции, а есть - которым и 10 минут лежать - не приемлемо.
- иметь\нанять группу программистов или одного человека, зависит от ваших масштабов. который будет сопровождать ваш код.
это 1% действий при комплексном подходе к проблеме. 90% непосвященных уверены - что "если настроить mysql\nginx\httpd - все будет летать". на самом деле - вся серверная оптимизация дает 10-15-20% производительности в целом, но открывает горизонты проггерам для масштабирования своего проекта. Поэтому, повторюсь, внимательно изучите ваш код.
- бюджет опять же.
- выбор времени дауна, если согласно плану он предусмотрен.
- оценка ваших потерь. что будет если криво переедите\часть данных потеряете?
- если все пойдет плохо- как быстро и безболезненно вернуться назад для второй попытки переезда. и тд.
по своему опыту в уже почти 10 лет - не отвечаю за уважаемых коллег, но могу сказать, что а. хороший программист(ы), б. наличие понимания и плана - решают.
если же у вас десяток сайтов на каком-нибудь ДЛЕ и вы переживаете "а как же яндекс и сапа" - то можете не читать, что выше написано :) в 90% случаев подобные сайты переносятся за 20 минут(не считая времени на перекачку какой-нибудь папки "upload", если таковая есть). Хотя видел лично я несколько проектов, которые на wordpress, DLE, joomla, от движка которых остались только одни названия. код там писан\переписан и вовсе не похож с первого раза на ДЛЕ и т д.
PS: по деньгам на рынке услуг - от 15$\час , до сотен и тысяч долларов.
Спасибо, но до таких размеров как вы описали выше еще далеко, но хотелось бы увидеть примеры средних проэктов к примеру - сайты обьявлений - типа эбай - т.е интересно какая у них инфоструктура т.е как построенно все - понимаю что это все у всех по разному но если средний сайт какую нагрузку должен выдерживать - к примеру я куплю VPS на что нужно полагаться - (на счет настройки еще не в курсе) т.е мне как бы нужен переходной уровень - но проблема еще как мне кажеться и в самом коде - так как из за 25 юзеров онлайн я думаю наврятли бы падала бд.. хотя кто знает..
Вообщем посмотрел я лог вот что там за ошибки..
PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Указаны строки запросов, но что толку что я на них смотрю я все равно не знаю как их оптимизировать или хотя бы потестировать или что то самому преприняться для начала -
Может после того как (если они не оптимизированны) после оптимизации все будет нормально работать то еще можно пожить не много но все равно потом переезжать на VPS
---------- Добавлено 24.02.2014 в 20:10 ----------
Проще говоря необходим сервер с администрированием. Тогда у вас не будет головной боли по переходу из хостинга на дедик.
Так и денег я думаю за сервер не мало нужно это раз -
А во вторых если я сам мало что понимаю как я администратировать буду ?
Ну по мануалам там буду рабираться по не многу но это времени куча...
А нанимать когда то тоже деньги нужны.
nomarketing, лично я бы начал диагностику с общего числа SQL-запросов, которые выполняются, чтобы сформировать страницу. Бывает так: думаешь, что там 5-10 небольших запросов. А на самом деле оказывается 900-1000. Причём 90-95% из них просто лишния.
У вас есть возможность отследить, сколько SQL-запросов выполняется при формировании страниц?
---------- Добавлено 24.02.2014 в 20:31 ----------
Следующее, что приходит в голову — проверить железо. Винчестеры имеют обыкновение через 4-6 лет работать жутко медленно. Бывает и так: в коде ничего не меняешь, но на новой винчестере БД летает, а на старом — глохнет.
Далее я бы использовал утилиту innotop в период пиковых нагрузок. Утилита в реальном времени показывает долго выполняющиеся запросы.
Для этой же цели можно переконфигурировать MySQL. В my.cnf прописать логгирование медленных запросов. Порог поствить, например, 10 или 15 секунд — если запрос выполняется дольше порога, он будет записан в лог-файл. Если в лог файл ничего не попадает, то понижаем порог.
Сайт - на обычном хостинге где хостяться еще сайты - но когда были проблемы раньше - чаще - хостер говорил что бд падает из за запросов.
Отследить ? - у меня есть сайт на локальной машине win - denwer.. - может как то можно локально проверить или самому как то сгенерировать что то типа нагрузки и выловить где ошибка и сколько держит ? - ну или не знаю.. но на данный момент ситуация такова..
---------- Добавлено 24.02.2014 в 19:41 ----------
nomarketing, CMS какая?
Довольно часто есть встроенные средства "профайлинга" - как общее количество/время запросов, так и детализация по каждому запросу.
X-Zero Community