Нагрузка на ЦПУ при этом пике 30-40%это че за нагрузка при 3рпс? Профилирование нагрузки - первый шаг, балансер и горизонтальное расширение это шаг стопитьсот, когда вы упираетесь в потолок того что может вытянуть сервак. 90% что проблемы в количестве (и качестве) запросов к бд, крайне маловероятно что код у вас настолько сложный, что не вытягивает...
обращается к основной БД через коннект по приватному IP адресу в сети серверов Амазон.Тестом запустите подряд 20-30 разных запросов с разным размером ответа, каждый замерьте, подозреваю что будете не очень приятно удивлены...
запросы на дополнительном сервере начинают отрабатывать по 5, 15 а иногда и 50 секунд.А на основном все остается норм? В любом случае - профайлинг наше все, + под нагрузочным тестированием хоть как-то.
делаю запрос в бд, вытаскиваю товары которые есть в API и пытаюсь искать в массиве вытащенных товаров - товары, которых нет в API через in_array,Для этого есть not in, перечисляете айдишники/уникальные идентификаторы всех пришедших с апи товаров, и у оставшихся ставите наличие 0 одним апдейтом.
но что-то фигня какая-то получается, находит один единственный товар, который есть и в API и в бдПо описанию вообще не ясно как вы ищете совпадающие товары, по этому есть мысль что проблема скорее в коде и алгоритме, чем в апи или базе.
The tables must be InnoDB. After converting the tables to InnoDB, the database could be migrated
Есть ли какие-нибудь хорошие файловые хранилище с которыми удобно и практично работать?Файловая система. Это самый удобный и практичный метод хранения мультимедийных файлов. В зависимости от ваших возможностей, компетенций и используемых технологий, вы можете использовать как локальную ФС, так и любое облачное хранилище через соответствующее АПИ, используя драйверы доступа к файлам, например как это реализовано в Ларавел.
Владею: Html, Css, Php, bd msql, сложные запросы SQLРили???
var_dump($row)
. $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
var_dump($sql); exit;
$query = $this->db->query($sql);
Идете в пхпмайадмин или консоль мускуля, вставляете и выполняете. Хотя для начала убедитесь что все вставленные значения хоть как-то похожи на правду.$count_m = "82;
Тут очевидно синтаксическая ошибка сразу. Молчу про то, что числа намеренно передаются строками...if($this->page==1) {
$page = 1;
}
else {
$page = (int) $this->page;
}
Это что за магия? Что оно вообще делает? Что будет если единица ВНЕЗАПНО попадет в блок else??$start = ceil($count_m/$m_per_page);
А теперь подумайте, как должна называться переменная, считающая общее количество страниц.суть в том, что когда формируется limit 72, 24, т.е 3 страница,Стоит пройти курс арифметики за 2 класс, и посчитать что 3 страница будет limit 48, 24.
Можем ли мы сделать запрос к БД и извлечь из промежуточной таблицы (book_author) информацию по конкретной книге?Из "промежуточной" можно извлечь только связи, она для этого и нужна.
Т.е. у нас для работы есть только информация о книге и теперь нужно извлечь информацию о её авторе (авторах).В чем вопрос? Как сделать джоин с 3 таблицами? Так же как с двумя, только с тремя.
Приемлемо ли вообще делать такие запросы к промежуточным таблицам?Какие - "такие"? У вас вообще ни одного запроса не написано.
ini_set('display_errors',1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Понял что это связанно с htmlspecialchars, но как победить его так и не понял.Во первых - зачем? В смысле какова цель вашей загадочной функции? Почистить строку? Обычно это делается при выводе, а не при записи. Подготовить для вставки в бд? Для этого есть встроенные функции, но и они тут лишние, почему - читай ниже.