Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ускорение работы сайта
Покинул форум
Сообщений всего: 71
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Дайте совет по организации оптимизации сайта. Сайт написан на простом PHP вот он (bigtorrent-ua.com) и использует MYSQLСУБД. Есть много тяжелых запросов и нужно сделать так чтобы сайт работал болееменее быстро. VDS сервер (CPU 1125 МГц, ОЗУ 768 Мб) смотрю в сторону кэширования но ничего не смысл в этом вопросе подскажите как реализовать и какие варианты будут наиболее эффективными! Возможно существуют способы о которых я даже не подозреваю ... Эта проблема гложет меня , по ночам ... как сделать так чтобы все работало быстро?
Реально нужна ваша помощь!
----- Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
JustUserR
Отправлено: 27 Января, 2011 - 09:57:34
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
bt_corp пишет:
Возможно существуют способы о которых я даже не подозреваю ..
В качестве допустимого метода позволяющего осуществить оптимизацию требуемых вычислительных мощностей - допустимо использование постоянного сохранения в оперативной памяти элементов для которых осуществляются наиболее частные запросы - в частности возможно использование интерфейса FastCGI для обеспечения подключения PHP-интерпретатора к целевому web-серверу - а также применение сервиса memcached для реализации хранения и модификации разделяемых информационных полей
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
bt_corp
Отправлено: 27 Января, 2011 - 10:06:56
Гость
Покинул форум
Сообщений всего: 71
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Сказано хорошо, но как это можно реализовать?
----- Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
JustUserR
Отправлено: 27 Января, 2011 - 10:25:20
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
bt_corp
Отправлено: 28 Января, 2011 - 12:05:49
Гость
Покинул форум
Сообщений всего: 71
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Спасибо за совет! Сделал но не memcached я выбрал XCache заметный результат, страница генерируется за 0.3 - 1.2 сек было от 3 до 8 сек но FastCGI не хочет устанавливаться: (
----- Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
OrmaJever
Отправлено: 28 Января, 2011 - 12:13:21
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010 Откуда: Minsk
Помог: 3 раз(а)
При 2 мегабитах скорости ваш сайт загружается 20 секунд. Открыл я firebug и был удивлен. Вам не memcached для начала нужен. Вам нужно причесать и структурировать ваши файлы js и css. И я уверен, что у вас есть запросы в циклах) Избегайте этого. Лучше один сложный запрос с 10 JOIN, чем 10 простых запросов в цикле.
Покинул форум
Сообщений всего: 71
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Спасибо за советы! Будем исправлять!
----- Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
DiosPA
Отправлено: 29 Января, 2011 - 02:27:11
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011 Откуда: Россия
Помог: 2 раз(а)
Лучше один сложный запрос с 10 JOIN, чем 10 простых запросов в цикле.
кто ни буть поясните что он сказал ))))
всмысле пример если можно
garvey
Отправлено: 29 Января, 2011 - 09:41:43
Частый посетитель
Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010 Откуда: Minsk
Помог: 3 раз(а)
Лень писать SQL с нуля, вот пример (написанный на Zend_Framework, но думаю запрос здесь понятный). Так вот, большинство начинающих программистов генерят кучу запросов, когда можно сделать лишь один. Они берут записи из главной таблицы, потом в цикле берут записи из дочерней. А сли таких таблиц 10? Я не говорю, что у Вас именно так. Просто совет пооптимизации работы с БД:
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
DiosPA пишет:
Лучше один сложный запрос с 10 JOIN, чем 10 простых запросов в цикле.
кто ни буть поясните что он сказал ))))
Наиболее эффективным вариантом осуществления запроса информационных полей из СУБД является создание минимального количества структурированных SQL-запросов с целью получения сгенерированного представления данных на сервере приложений - дело в том что выполнение требуемых операций с информационными полями является предпочтительным на стрроне сервера БД - по причине обеспечения прямого доступа к ним и использование элементов систем индексации а также спецаильных оптимизированых алгоритмов
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.