С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 42

Как ускорить работу вебсайта

26.03.2018, 19:32. Показов 1057. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru