|
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 42
|
|
Как ускорить работу вебсайта26.03.2018, 19:32. Показов 1088. Ответов 6
Метки нет (Все метки)
Основнок время при работе вебсайта это запрос к базе данный.Как работает жесткий диск:
http://pc-information-guide.ru... a-hdd.html Кратко: на общем валу насажено несколько дисков, магнитные дорожки, каждого находятся друг над другом и образуют так называемый цилиндр. Есть коромысло с несколькими магнитными головками, по одной на каждый диск. Коромысло движется, устанавливается на необходимый цилиндр и производит запись/чтение. Движется оно шустро, но конечно это занимает значительное по компьютерным понятиям время. Получается что когда коромыслр установлено на некоторый цилиндр оно может очень быстро считывать или записывать инфлрмацию. А вот если при выполнении sql запроса требуется обращение к таблицам находящимся на разных цилиндрах, то коромыслу приходится перемещаться и время выполнения запроса резко увеличивается, иногда становится неприемлимым. Например для профиля пользователя надо по имеющемуся ключам выбрать наименование страны, региона, города, улицы. Это потребует обращения к таблице с профилем и еще к четырем. Может быть катастрофа, если таблицы находятся на разных цилиндрах. Кеширование помогает но не всегда. Твердотельные диски не имеют этой проблемы. Здесь Вы можете ознакомиться с результатами испытаний и сравненее hdd с ssd https://m.geektimes.ru/post/276052/ Разница в скорости десятки раз А чтобы зло пресечь собрать бы hdd да сжечь! Но hdd память сильно дешевле, без них не обойтись. Так что проблему надо решать, основные методы: - оптимизировать расположение таблиц на диске. Для каждой реально работающей программы есть распределение вероятностей запросов. Можно оптимально расположить таблицы минимизируя среднее время доступа или максимальное время доступа. Это может сделать программист или же программа. Но я такой программы не смог найти. Кто знает подскажите, пожалуйста. - использовать два или больше дисков, также оптимизируя расположение таблиц. Например один из дисков может быть ssd и на нем расположить маленькие таблицы. - использовать оперативную память, она даже быстрее чем sdd, а уж если использовать кеш память то будет совсем быстро. Для этого годятся журналируемые хранилища например redis , memcached. Поскольку большинство сайтов работает на хостингах и виртуальных серверах без сисадмина, было бы полезно сделать журналируемое хранилмще не требующее устпновки, на базе cron. Беда в том что самая популярная субд mysql не позволяет размещать таблицы на разных дисках и тем более не использует журналируемые хранилише. Может быть есть расширения для mysql позволяющие делать это , но я таких найти не сумел. Кто знает подскажите, пожалуйста. Предлагаю основать open source проект и разработать систему для оптимизации дисковой памяти.
0
|
|
| 26.03.2018, 19:32 | |
|
Ответы с готовыми решениями:
6
Ускорить работу интерпретатора как ускорить работу программы, если элементов много Ускорить работу тестов |
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 27.03.2018, 00:00 | |
|
Как показывает практика сайты тормозят не от хранения данных на hdd, а в том что программист обчитался попова, русакова и им подобных и пишет жуткий тормозной говнокод, который ssd и in-memory хранилища не спасут.
1
|
|
|
16 / 16 / 2
Регистрация: 05.04.2012
Сообщений: 146
|
||
| 27.03.2018, 07:50 | ||
|
Хотите на разных дисках, ставьте диски в RAID 0 и будет вам mysql на разных дисках. НО! При этом имеем ввиду что предыдущий ответ был абсолютно правильным.
1
|
||
|
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 42
|
|
| 27.03.2018, 22:07 [ТС] | |
|
спасибо за ответы по существу
в основном орут и ржут 1 код часто тормозит. но можно использовать компилируемый php со строгими правилами кодирования что сделали face book vk hdd важен например в wordpress код хороший а тормозит жутко. и есть много плагинов для его ускорения 2 ничего в кучу не смешал, просто слишком коротко написал. вабще не рассчитывал на разумные ответы. я хочу сделать систему для массового пользователя с минимальными вохможностями админа а лучше вообще чтобы не надо было ничего устанваливать. поэтому то что вы предлагаете не годится. а вот если дать возможность mysql легко размещать таблицы на разных дисках ssd hdd in memory хранилищах эффект будет большой. например все плагины ускорения word press оптимизируют работу с твблицами некоторые используют memcasehd и хорощо было бы сделать программу которая анализировала бы физичечкое расположение таблиц на диске и выдала рекомендации по его изменению
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||
| 27.03.2018, 22:26 | |||
WP и хороший код понятия не совместимые. Настолько тормознутое и тяжелое г еще поискать надо.
0
|
|||
|
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 42
|
|
| 28.03.2018, 11:01 [ТС] | |
|
вордпресс конечно не ангел но 30 млн установок
и все таки там торомозит hdd плагины ускоряющие вордпрес работают с бд кстати некоторые используют memcashed и их за это критикуют. пользователи не любят чтото устанавливать я реально хочу сделать расширение для mysql чтобна разные диски писало те при вводе выводе mysql обращается к файлу с информацией где какая таблица хранится физически Есть два способа добавить новую функцию в MySQL: Вы можете добавить функцию через механизм определяемых пользователем функций (user-definable function, UDF). Они добавляются динамически, используя команды CREATE FUNCTION и DROP FUNCTION. Подробности в разделе "9.1.1 Синтаксис CREATE FUNCTION/DROP FUNCTION". Вы можете добавить функцию как внутреннюю в MySQL. Такие функции компилируются прямо внутрь сервера mysqld и становятся доступными на постоянной основе. думаю что первый способ не годится знаете что то об этом?
0
|
|
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
|
|
| 28.03.2018, 15:46 | |
|
кстати, о скорости
почему пхп-команда не сделает возможность скомпилировать 1 раз весь код приложения в бинарник и потом его юзать? он в любом случае создаётся при каждом запросе
0
|
|
| 28.03.2018, 15:46 | |
|
Помогаю со студенческими работами здесь
7
ускорить работу скрипта Как ускорить работу? Как ускорить работу IJ? Как ускорить работу сокетов? Как ускорить работу приложения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|