Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2018, 19:32
Ответы с готовыми решениями:

Ускорить работу интерпретатора
Очень тяжелый скрипт на 2 часа при работе загружает проц только на 10-15%. Есть ли какие-то настройки для apache или php чтобы отдать...

как ускорить работу программы, если элементов много
Есть такое задание: Найти медиану в массиве. The median is the middlemost element of the array when sorted. For simplicity, when an...

Ускорить работу тестов
Практически в каждом тесте точнее в класе тестов в setUp вызываю такую функцию $this->client->request( 'POST', ...

6
Эксперт PHP
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
Цитата Сообщение от lerneree Посмотреть сообщение
Беда в том что самая популярная субд mysql не позволяет размещать таблицы на разных дисках и тем
более не использует журналируемые хранилише. Может быть есть расширения для mysql позволяющие делать это ,
но я таких найти не сумел.
Что то вы всё в кучу смешали. Каким боком mysql будет управлять дисками? А операционная система, а контроллер?
Хотите на разных дисках, ставьте диски в 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
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.03.2018, 22:26
Цитата Сообщение от lerneree Посмотреть сообщение
hdd важен например в wordpress код хороший а тормозит жутко
WP и хороший код понятия не совместимые. Настолько тормознутое и тяжелое г еще поискать надо.
Цитата Сообщение от lerneree Посмотреть сообщение
я хочу сделать систему для массового пользователя с минимальными вохможностями админа а лучше вообще чтобы не надо было ничего устанваливать.
Т.е сделать одну кнопку - "Сделать хорошо". Так не бывает. Слишком много факторов может влиять на производительность в каждом отдельном случае.
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2018, 15:46
Помогаю со студенческими работами здесь

ускорить работу скрипта
Друзья - php скрипт выполняется более 400 секунд! Подскажите что можно подправить - что бы ускорить работу! <?php $dbh =...

Как ускорить работу?
Прога ещё не доработана, сейчас интересует именно графический режим, когда нажимается клавиша 1-4 один из 4-х квадратов должен...

Как ускорить работу IJ?
Ребят, всем добрый день, я читал, что ява компилируется дольше, чем си, но у меня как-то долго... дайте пару советов, как ускорить работу:p

Как ускорить работу сокетов?
Добрый день, Руководитель дал задание на практику написать приложение на C/C++ - Генератор/Анализатор трафика. Ранее я писал что-то...

Как ускорить работу приложения?
Итак, имеем: Oracle 9i, apache 2.0.43 + tomcat 4.1 servlet IE+applet Из апплета идет много запросов к базе. И gui...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
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. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru