Форум русской поддержки Joomla!® CMS
17.08.2017, 03:46:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сайт медленно работает, прошу советов

 (Прочитано 141 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Леон
Давно я тут
****

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 290



« : 08.08.2017, 11:21:00 »

Всех приветствую. Какое-то время назад я занимался разработкой базы документов.
Вот сайт: http://qoo.by/2q66

Сайт сделан на Joomla 3 + К2 + JA K2 Filter

С фронта сделана почти самописная форма по добавлению документов, вроде все удобно. Как видите сейчас в базе 3500 документов и тексты всех этих документов лежат в таблице k2_items.

Бекапы сайта делаются, но эта таблица почти 300МБ и разворот базы это еще то дело. Но это пол беды, Сам сайт от такого количества документов, работает уже не так быстро как хотелось бы, когда документов было до 1000 все летало. А в планах еще залить порядка 10 000 документов.

Прошу помощи, подсказать можете есть cms где этот проект лучше будет себя чувствовать? Мне говорят переделать на битриксе сайт, но если на нем будет также таблица, в которой все тексты всех документов, он не будет также тупить?

Вся проблема в текстах, у документов его очень много. Но задача стоит так, чтобы текст был читаем и в версии для слабовидящих с ним можно было манипулировать, менять фон, увеличивать и т.д. Поэтому способы с преобразованием в pdf и открытием во фрейме не подходят, текст pdf версии для слабовидящих не будут увеличиваться.
Записан
AlekVolsk
Профи
********

Репутация: +340/-4
Offline Offline

Пол: Мужской
Сообщений: 6921



« Ответ #1 : 08.08.2017, 11:53:58 »

1) избавится от К2
2) вынести тексты документов на хранение в отдельные файлы, оформив в маркдаун (это как md-файлы на гитхабе), 1 документ = 1 файл, хранение файлов можно структурировать согласно категориям, это можно сделать на стандартном com_content с доп.полями либо взять более шуструю cck (не знаю такой) либо реализовать хороший самопис (я бы сделал именно так)
Записан
Леон
Давно я тут
****

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 290



« Ответ #2 : 08.08.2017, 12:16:01 »

AlekVolsk, интересное предложение, будем пробовать. Думаю если получится реализовать сохранение текста в файлах, это будет уже огромный плюс. А так да, грамотный самопис это лучше всего.
Записан
SeBun
Профи
********

Репутация: +189/-5
Offline Offline

Пол: Мужской
Сообщений: 3218


@SeBun48


« Ответ #3 : 08.08.2017, 12:21:21 »

В данном случае скорость работы зависит как от характеристик хостинга, так и от организации работы. В том числе и от запросов в базу. В том числе и от "чистоты" сайта.
Я бы на вашем месте не стал использовать К2, начиная с 3.7 есть возможность создавать доп. поля к материалу, этот функционал и нужно использовать. Второй момент - у вас текст выводится прямо на странице, он там сильно нужен? Ведь тексты большого объема отъедают ресурсы, да и страничку грузят. Вложенного файла было бы достаточно, либо открытие модального окна по клику.

Ну и, как сказал AlekVolsk, тут хороший самопис не помешал бы...
Записан
AlekVolsk
Профи
********

Репутация: +340/-4
Offline Offline

Пол: Мужской
Сообщений: 6921



« Ответ #4 : 08.08.2017, 12:25:14 »

про рендер всего текста сразу: я бы  реализовал его подгрузку аяксом отложенно
Записан
Леон
Давно я тут
****

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 290



« Ответ #5 : 08.08.2017, 12:52:49 »

Второй момент - у вас текст выводится прямо на странице, он там сильно нужен?

Да, это одно из требований к этой базе. Если бы был способ из Wordовского вложения php скриптом вывести текст на страницу, это было бы вообще идеально. А так приходится все из вложения копировать и вставлять в материал, т.к. заказчику необходимо чтобы текст был. Так и текст не хранился бы в базе и может бы выводился в получше виде чем сейчас при копипасте.



Записан
Aleks.Denezh
Практически профи
*******

Репутация: +376/-4
Offline Offline

Пол: Мужской
Сообщений: 2822



« Ответ #6 : 08.08.2017, 13:19:56 »

начиная с 3.7 есть возможность создавать доп. поля к материалу, этот функционал и нужно использовать.
ага ага.. и когда накопится тысяч 30 файлов начнется такая же проблема )

По теме тут: надо хороший самописный компонент...
Записан
ChaosHead
Профи
********

Репутация: +409/-13
Offline Offline

Пол: Мужской
Сообщений: 4742



« Ответ #7 : 08.08.2017, 13:54:44 »

Тот факт, что разворот базы в 300Мб - это какая-то проблема, наводит меня на мысль, что не всё хорошо с хостингом.
И если текст статей статичный, то кэшируйте его стандартным кэшированием на недельку и всё будет летать.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +376/-4
Offline Offline

Пол: Мужской
Сообщений: 2822



« Ответ #8 : 08.08.2017, 13:56:46 »

Тот факт, что разворот базы в 300Мб - это какая-то проблема, наводит меня на мысль, что не всё хорошо с хостингом.
И если текст статей статичный, то кэшируйте его стандартным кэшированием на недельку и всё будет летать.
ну если текст документа дополнительно хранится в базе (просто в редактор вставлен) то возможно и не стоит удивляться )
Записан
SeBun
Профи
********

Репутация: +189/-5
Offline Offline

Пол: Мужской
Сообщений: 3218


@SeBun48


« Ответ #9 : 08.08.2017, 14:25:29 »

заказчику необходимо чтобы текст был
Как вариант - сделайте его подгружаемым. Либо при нажатии на ссылку будет открываться модальное окно, либо разворачиваться гармонь.
Записан
robert
Профи
********

Репутация: +385/-15
Offline Offline

Пол: Мужской
Сообщений: 4217


« Ответ #10 : 08.08.2017, 14:45:19 »

Если бы был способ из Wordовского вложения php скриптом вывести текст на страницу, это было бы вообще идеально.
Есть библиотека PhpWord. Да, как уже писали, лучшем решением был бы самописный компонентик, который конвертирует Word-документ в HTML и сохраняет его в отдельный файл.
Записан
SeBun
Профи
********

Репутация: +189/-5
Offline Offline

Пол: Мужской
Сообщений: 3218


@SeBun48


« Ответ #11 : 08.08.2017, 14:58:46 »

Есть библиотека PhpWord. Да, как уже писали, лучшем решением был бы самописный компонентик, который конвертирует Word-документ в HTML и сохраняет его в отдельный файл.
Я бы не так сделал. Пусть компонент закачивал бы только Wordовский файл. При этом рядом создавался бы автоматом HTML. У него на страничке сейчас выводится и Wordовский файл для скачивания, и текст из базы. Оставить как есть, только вместо текста документа создать ссылку, при нажатии на которую всплывало модальное окно с текстом из html-файла. Либо, как я писал выше, при нажатии на ссылку подгружать HTML и раскрывать аккордеон. Так мы серьезно размер страниц уменьшим и разгрузим базу.
Записан
robert
Профи
********

Репутация: +385/-15
Offline Offline

Пол: Мужской
Сообщений: 4217


« Ответ #12 : 08.08.2017, 15:18:22 »

Ну, это уже детали, самое главное - не хранить текст в базе, а только идентификатор и, возможно, ключевые слова. Вариант хранения в отдельных файлах еще хорош тем, что можно использовать статические ссылки на них.
Записан
voland
Профи
********

Репутация: +520/-101
Offline Offline

Пол: Мужской
Сообщений: 9931


СКАЙП утерян! Пишите в телеграм @volandku


« Ответ #13 : 08.08.2017, 15:22:33 »

На Битриксе будет не лучше.
Вообще - надо проанализировать что именно создает нагрузку и дальше - либо менять код, либо, может проще - купить ВДСку и настроить оптимально
Записан
flyingspook
Профи
********

Репутация: +245/-9
Offline Offline

Сообщений: 3774


« Ответ #14 : 08.08.2017, 15:34:50 »

Бекапы сайта делаются, но эта таблица почти 300МБ и разворот базы это еще то дело
Не вижу у вас проблемы, кроме проблемы с железом и настройки. БД и по 2-3Гб и более себя нормально чувствуют на хорошем железе.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet