Личный опыт оптимизации сайта, скорости загрузки страниц

12 3
[Удален]
2636

Неделю попилил свой самописный движок http://123-realty.ru/, удалось достичь 10-20 кратного сокращения времени загрузки страниц. От основных тормозов удалось избавится с помощью кеширования.

Делюсь опытом:

1. Переписал запросы, в основном убирал условия в where, использовал join.

2. Используя explain создал нужные индексы.

3. Сделал кеширование запросов на уровне веб-приложения, serialize, unserialize. Разделил часто выполняемые запросы, установил время хранения кеша для разных элементов страницы.

4. Поставил связку nginx+apache+mysql

Кому интересно задавайте вопросы.

crailg
На сайте с 24.01.2010
Offline
98
#1

Это больше похоже на пиар вашего сайта.

Если бы вы хотели поделиться опытом - написали бы все по пунктам и с объяснением.

👀 Устал искать пп по пушам? Сливай PUSH на себя! ( https://searchengines.guru/ru/forum/1007827 ) 🔥Разработка любых проектов на JS, PHP ( https://searchengines.guru/ru/forum/1064450 )
dma84
На сайте с 21.04.2009
Offline
168
#2
donriga:
Неделю попилил свой самописный движок 123-realty.ru, удалось достичь 10-20 кратного сокращения времени загрузки страниц. От основных тормозов удалось избавится с помощью кеширования.

Делюсь опытом:
1. Переписал запросы, в основном убирал условия в where, использовал join.
2. Используя explain создал нужные индексы.
3. Сделал кеширование запросов на уровне веб-приложения, serialize, unserialize. Разделил часто выполняемые запросы, установил время хранения кеша для разных элементов страницы.
4. Поставил связку nginx+apache+mysql

Кому интересно задавайте вопросы.

Хы-хы-хы, этим вы добились сокращения времени генерации страниц, но не их загрузки

PS: есть статья по сокращению времени выполнения php-сценариев, вот только урл не помню, там очень хорошо и наглядно описано, как сократить время выполнения php-сценария, какие циклы лучше использовать ну и т.п. (буду благодарен за ссылку если что)

B
На сайте с 25.02.2009
Offline
68
#3

а с чего решили что join быстрее where? По сути join всегда тяжелее, так как является влложенным запросом

Бесплатная CMS LitePublisher это блог, вики, тикет система, голосование (http://litepublisher.ru/) на высокой скорости с минимум памяти
A
На сайте с 29.12.2007
Offline
68
#4
donriga:
1. Переписал запросы, в основном убирал условия в where, использовал join.
2. Используя explain создал нужные индексы.

Лучше разбейте большие запросы на несколько мелких, собирайте результат в php и кешируйте. Часто помогает.

donriga:
3. Сделал кеширование запросов на уровне веб-приложения, serialize, unserialize. Разделил часто выполняемые запросы, установил время хранения кеша для разных элементов страницы.

Немного не понятно, что именно кешируете. Я всегда кеширую данные, многие знакомые - блоки html. У них явно быстрее строится страница, но мне такой подход не нравится.

donriga:
4. Поставил связку nginx+apache+mysql

Осталось правильно настроить эту связку. Например, можно через nginx отдавать сохраненный html всей страницы, а если его нет - отправлять запрос в php.

Ну и самое главное, что Вам уже сказали - вы оптимизировали генерацию страницы (да и то не полностью: где eaccelerator? где мемкеш? почему используются where/join? почему вообще используется mysql? =)))). А вот время загрузки страницы зависит от других параметров: размера страницы, количества и размера медиафайлов, количества и размера js и css и пр.

[Удален]
#5

Oops! Google Chrome could not find 123-realty.ru

[Удален]
#6
dma84:
Хы-хы-хы, этим вы добились сокращения времени генерации страниц, но не их загрузки

именно, теперь можно занятся вторым пунктом

blogolet:
а с чего решили что join быстрее where? По сути join всегда тяжелее, так как является влложенным запросом

Зависит от кучи факторов (скажем id-ы в таблицах - индексы или нет? первичные или нет? и т.п.), но в общем случае JOIN предпочтительнее. у меня результат explain на join лучше

aktuba:
Лучше разбейте большие запросы на несколько мелких, собирайте результат в php и кешируйте. Часто помогает.
Немного не понятно, что именно кешируете. Я всегда кеширую данные, многие знакомые - блоки html. У них явно быстрее строится страница, но мне такой подход не нравится.
Осталось правильно настроить эту связку. Например, можно через nginx отдавать сохраненный html всей страницы, а если его нет - отправлять запрос в php.
Ну и самое главное, что Вам уже сказали - вы оптимизировали генерацию страницы (да и то не полностью: где eaccelerator? где мемкеш? почему используются where/join? почему вообще используется mysql? =)))). А вот время загрузки страницы зависит от других параметров: размера страницы, количества и размера медиафайлов, количества и размера js и css и пр.

Кеширую только результаты запросов к Mysql. Кеш простой serialize/unserialize но эффект замечательный

awilum:
Oops! Google Chrome could not find 123-realty.ru

Сайт доступен

iamsens
На сайте с 26.08.2009
Offline
115
#7

для тех кто не знает, еакселератор замедляет загрузку страниц☝

[Удален]
#8

Некорректный заголовок топика, я оптимизировал генерацию страницы.

Теперь вопрос как оптимизировать загрузку страницы?

N
На сайте с 06.05.2007
Offline
419
#9

donriga, как Микеланджело - берешь страницу и убираешь все лишнее

Кнопка вызова админа ()
LEOnidUKG
На сайте с 25.11.2006
Offline
1772
#10
Кому интересно задавайте вопросы.

Чтобы задавать вопросы, нужна статья на 10 000 знаков с картинками.

А так это уныло и всем пофигу, что вы там сделали со своим движком.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий