- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Shtogrin, Про индексы понятно, а много или мало 30% - это можно решать в частном порядке (но три джойна - это уже вдвое медленнее и может оказаться критичным моментом), как и остальные вещи касаемо архитектуры. Вариантов много.
AlienZzzz, классический оракловский подход ;)
Но согласен - это наиболее гибкий и быстро расширяемый вариант.
Имея обычный выделенный оракловский сервер, действительно ничего не будет тормозить.
А вот расшаренный mysql с нагрузкой 100 запросов в секунду торопиться не будет.
Sqlite при таких нагрузках просто вызовет коллапс сервера.
Я бы поспорил . мы краш-тесты делали:
3 запроса в секунду с 20 машин одновременно. Работала 3 дня-ночи подряд.
Ни одного коллапса, сервер был двух процессорный, загрузка - 40-50 проц.
Что делалось:
Открывалась выборочная страничка, потом прыгали по разделам сайта и после получение файла и принятие файла(причем специально были сделаны битые файлы)
размер файлов колебался от 500 байт до 1.5 метра
Я разделил все базы:
Результат:
Время доступа к порталу варировалось от 0.7 до 3х секунд.
Время обработки примерно было 1.5 секунд.
П.С.
Главное с индексами не перемудрить (нарпимер, в базе статистики я вообще индексов не делал, так как там просто инсерт)
AlienZzzz, подскажите пожалуйста что почитать можно по оптимизации БД, желательно на русском.
Суть в чем есть одна кмс с которой я работаю уже давно и она мне очень нравится и скоростью и расширяемостью, но работа с БД на мой взгляд там мало продуманная, хотелось бы по возможности максимально оптимизировать эту часть в ней.
Спасибо.
ZeHer, www.sql.ru
Я бы поспорил . мы краш-тесты делали:
3 запроса в секунду с 20 машин одновременно. Работала 3 дня-ночи подряд.
Ни одного коллапса, сервер был двух процессорный, загрузка - 40-50 проц.
Немного синтетический тест. Но картина была бы нагляднее в сравнении с MySQL.
Немного синтетический тест. Но картина была бы нагляднее в сравнении с MySQL.
синтетический это как ?
__
После перевода с мускула - скорость доступа на пиках понизилась с 3 сек до 1.5
Главное с индексами не перемудрить (нарпимер, в базе статистики я вообще индексов не делал, так как там просто инсерт)
Не могли бы вы уточнить причину, очень интересно.
Спасибо
Не могли бы вы уточнить причину, очень интересно.
Спасибо
Каждый индекс должен создаваться только если он реально используется, поскольку:
-каждый индекс элементарно занимает место на диске;
-каждый индекс существенно замедляет операции модификации данных, ибо каждая из них, которая его затрагивает - будет требовать перестройки индекса. По этой же причине рекомендуется при групповой обработке данных отклбючать индексы и затем их создавать. При больших объемах это ускоряет обновление на порядки.
Также можно использовать insert delayed, low priority и т.д. Но нужно понимать как сие работает - это хорошо в документации описано.
Таким образом, если в той же статистике есть временная таблица, в которую идут одни вставки, а чтение идет просто вподряд с удалением обработанного - то индекс и не нужен (но нужно периодически запускать optimize table 🚬 ).
Не могли бы вы уточнить причину, очень интересно.
Спасибо
Причину чего ?
если вы про причину, почему я снес индексы, потому что
1. при большом объеме данных это сильно замедляет втсавку.
2. таблица лочилась(LOCK), и все остальные процесы ждали(время доступа существенно возрастало)
3. там они не нужны,так как в статистику нужно быо залезать не так часто.
И, кстати, полезно смотреть explain - иногда там можно много интересного увидеть и про использование индексов в том числе.