- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго дня. Возможно туплю, но сходу не получается решить вопрос.
Имею:
- выделенный сервер с 32GB памяти, вебсервер Апач, MySQL 5.5
- таблицу в базе MySQL. MyISAM, 10 млн. записей, содержащую логи посещений сайта за последние несколько дней.
Делаю выборку в статистике по дате за сегодня: - выводит за 3 секунды.
Делаю выборку в статистике по дате за вчера: - выводит за 10 секунд.
Делаю выборку в статистике за неделю: - вечное ожидание (timeout 300 сек стоит в настройках MySQL).
Как ускорить вывод статы из таблицы, может вообще ее в InnoDB перевести? Конфиг:
[mysqld]
bind-address=localhost
max_connections = 300
local-infile=0
innodb_file_per_table = 1
pid-file = /var/run/mysqld/mysqld.pid
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
key_buffer_size = 512M
sort_buffer_size = 64M
query_cache_limit = 2M
query_cache_size = 128M
query_cache_type = 0
thread_cache_size = 16
max_heap_table_size = 128M
tmp_table_size = 128M
table_open_cache = 4096
innodb_open_files = 4096
innodb_buffer_pool_size = 10G
innodb_buffer_pool_instances = 10
innodb_additional_mem_pool_size = 20M
innodb_flush_log_at_trx_commit = 0
innodb_file_io_threads = 8
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_stats_on_metadata = 0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Заранее спасибо за Ваши ответы и время уделенное моей теме.
explain что показывает?
индексы какие?
менять тип не надо: прочитайте MyISAM vs InnoDB.
дело вероятнее всего в индексах и запросах.
покажите это и сделайте explain конечно же
10кк - это мало записей
Проблема в клиенте который делает запрос и вытягивает данные. Пример кода покажите.