powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как ускорить работу вебсайта
10 сообщений из 10, страница 1 из 1
Как ускорить работу вебсайта
    #39621246
evgenylerner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Основнок время при работе вебсайта это запрос к базе данный.
Бак работает жесткий диск:
http://pc-information-guide.ru/zhestkij-disk/kak-ustroen-zhestkij-disk-kompyutera-hdd.html
Кратко: на общем валу насажено несколько дисков, магнитные дорожки,
каждого находятся друг над другом и образуют так называемый цилиндр.
Есть коромысло с несколькими магнитными головками, по одной на каждый диск. Коромысло движется,
устанавливается на необходимый цилиндр и производит запись/чтение. Движется оно шустро, но конечно это
занимает значительное по компьютерным понятиям время.
Получается что когда коромыслр установлено на некоторый цилиндр оно
может очень быстро считывать или записывать инфлрмацию. А вот если при выполнении sql запроса требуется
обращение к таблицам находящимся на разных цилиндрах, то коромыслу приходится перемещаться и время выполнения
запроса резко увеличивается, иногда становится неприемлимым. Например для профиля пользователя надо по
имеющемуся ключам выбрать наименование страны, региона, города, улицы. Это потребует обращения к таблице с
профилем и еще к четырем.
Может быть катастрофа, если таблицы находятся на разных цилиндрах. Кеширование помогает но не всегда.
Твердотельные диски не имеют этой проблемы.
Здесь Вы можете ознакомиться с результатами испытаний и сравненее hdd с ssd
https://m.geektimes.ru/post/276052/
Разница в скорости десятки раз
А чтобы зло пресечь собрать бы hdd да сжечь! Но hdd память сильно дешевле, без них не обойтись. Так что
проблему надо решать, основные методы:
- оптимизировать расположение таблиц на диске. Для каждой реально работающей программы есть распределение
вероятностей запросов. Можно оптимально расположить таблицы минимизируя среднее время доступа или максимальное
время доступа. Это может сделать программист или же программа. Но я такой программы не смог найти. Кто знает
подскажите, пожалуйста.
- использовать два или больше дисков, также оптимизируя расположение таблиц. Например один из дисков может быть
ssd и на нем расположить маленькие таблицы.
- использовать оперативную память, она даже быстрее чем sdd, а уж если использовать кеш память то будет совсем
быстро. Для этого годятся журналируемые хранилища например
redis , memcached. Поскольку большинство сайтов работает на хостингах и виртуальных серверах без сисадмина, было бы
полезно сделать журналируемое хранилмще не требующее устпновки, на базе cron.
Беда в том что самая популярная субд mysql не позволяет размещать таблицы на разных дисках и тем
более не использует журналируемые хранилише. Может быть есть расширения для mysql позволяющие делать это ,
но я таких найти не сумел. Кто знает подскажите, пожалуйста.
Предлагаю основать open source проект и разработать систему для оптимизации дисковой памяти.
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621253
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь, внимание, вопрос!

Что курил автор?
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621255
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА теперь, внимание, вопрос!

Что курил автор?Явно не мануалы и учебники
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621284
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожет быть есть расширения для mysql позволяющие делать это ,
но я таких найти не сумел. Кто знает подскажите, пожалуйста.

RAID?
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621285
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторболее не использует журналируемые хранилише

мемкеш плагин
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621300
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА теперь, внимание, вопрос!

Что курил автор?

Автор курил траву, завёрнутую в листы из документации по старому IBM DB2...
А потому пришёл к серваку MySQL и у него случился глюк, что это и есть IBM DB2...
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621308
evgenylerner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,
спасибо.
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621311
evgenylerner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
единственный ответ по существу, но это решает только часть проблемы. похоже все что все остальные ответы написаны [censored]
Модератор: Неподобающая лексика убрана. Прошу впредь воздерживаться ее использования. Вам предупреждение.
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621384
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgenylerner,
вот не надо так. то как устроены диски интересует только производителей.
для всех остальных - тип интерфейса sata, sas.. ну и тип hdd, ssd...
всё остальное берёт на себя система.
по поводу оптимизации таблиц- надо понимать - что база это куча, и оптимизация кучи вещь очень неблагодарная.
даже сделав поправку на возраст , вопрос актуален - что курит ТС? дабы не дойти до такого...
...
Рейтинг: 0 / 0
Как ускорить работу вебсайта
    #39621600
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgenylernerМожно оптимально расположить таблицы минимизируя среднее время доступа или максимальное
время доступа.Во-первых, диски уже давно не показывают физическую геометрию размещения секторов "наружу". А один логический цилиндр будет размазан на множество физических. И даже это соотношение разное в разных областях диска.
Во-вторых, примерно половину времени доступа составляет не перемещение головок, а ожидание поворота шпинделя до того как головки подойдут к нужному сектору.
Так что все равно сильно сократить время ожидания не выйдет.
evgenylernerиспользовать оперативную память, она даже быстрее чем sdd, а уж если использовать кеш память то будет совсем
быстро.Это что же за кэш-память такая, что быстрее оперативки?
(та, которая в CPU не считается, т.к. она не адресуемая)
evgenylernerПоскольку большинство сайтов работает на хостингах и виртуальных серверах без сисадминаДля таких сайтов вопрос быстродействия дисков не входит даже в первую десятку приоритетов.
И даже если вдруг войдет, то переход на хостинг с SSD решит или надолго отложит проблему.
evgenylernerсубд mysql не позволяет размещать таблицы на разных дискахНеправда, позволяет.
https://dev.mysql.com/doc/refman/5.7/en/tablespace-placing.html

И если уж так не хватает производительности дисков, то существует множество рецептов того, как разместить в оперативной памяти временные файлы MySQL или даже всю БД.
Если не хватает и этого, то вы выбрали неподходящий инструмент для своих задач.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как ускорить работу вебсайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]