Улучшить производительность сайта - PullRequest
2 голосов
/ 21 марта 2010

Я разработал новый веб-сайт. Я принимал это онлайн. Я хочу, чтобы он работал с максимальной производительностью и быстрее загружал страницы.

Этот сайт разработан в php 5.0+ с использованием codeigniter. Это использует MySQL в качестве базы данных. У меня есть изображения на нем. Я использую сетку Nitobi для отображения набора записей на странице. В остальном это все обычные элементы управления страницей.

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

Также, пожалуйста, дайте мне знать, если есть какие-либо способы измерить производительность веб-сайта, а также какие-либо веб-сайты или инструменты, чтобы помочь проверить производительность.

Ответы [ 10 ]

1 голос
/ 21 марта 2010

Время загрузки главной страницы и компонентов, которые она содержит, можно увидеть на вкладке «Сеть» в уже упоминавшемся дополнении Firebug для Firefox.Там вы можете увидеть, является ли страница медленной из-за большого количества внешнего контента (например, добавленных пользователем изображений или около того) или из-за себя.

В первом случае вы мало что можете сделать, кроме удаления контента, которыйзанимает больше времени, во втором случае вам нужно будет взглянуть на ваш PHP-код, учитывая тот факт, что в большинстве случаев проблемы производительности в приложениях PHP зависят от несовершенного взаимодействия с базой данных (плохо написанные запросы, повторные запросы, когда этого достаточно, и т. д..).

1 голос
/ 21 марта 2010

Вы изучали кэширование кода операции, APC, memcache и т. Д.?Как уже сказал другой, вам нужно рассчитать время загрузки своих страниц и попытаться найти потенциальные узкие места SQL и / или сценарии, которые можно реорганизовать.Вы также можете посмотреть, как установить что-то вроде webgrind, чтобы увидеть, что происходит при загрузке страницы и сколько времени занимает каждый процесс.

1 голос
/ 21 марта 2010

Для начала получите Firefox и Firebug и затем установите YSlow YSlow предоставляет отличную информацию о производительности веб-сайта на стороне клиента. Вот Руководство пользователя .

Для производительности на стороне сервера посмотрите Apache JMeter .

0 голосов
/ 23 марта 2010

Я бы предложил попробовать Clicktale. Я пользуюсь им уже 2 месяца, и очень интересно смотреть, что делают ваши пользователи, я многому научился.

0 голосов
/ 22 марта 2010

Этот сайт будет измерять интегрированную оценку производительности для вашего сайта, а также даст вам несколько важных советов.Все, что вам нужно сделать, это ввести URL-адрес.

0 голосов
/ 21 марта 2010

Если у вас есть время для игры, попробуйте HipHop , разработанный и используемый Facebook

0 голосов
/ 21 марта 2010

с точки зрения сервера:

  1. как написали другие;использовать php-ускоритель (я использую APC , который должен стать стандартом в php)
  2. заботиться о базе данных;количество запросов, сложность запросов, данные в наборе результатов, ... могут оказать большое влияние
  3. кэшировать динамические страницы

и с точки зрения браузера:

свести к минимуму количество JS и CSS-файлов (один из них идеален), поставить css в голову, js ниже избегать вызова стороннего javascript (аналитика, виджеты, ...) проверить размер изображений (я использую smush.it )

их влияние может быть огромным, ср. тесты, которые я проводил на своем (на основе WordPress) сайте .

0 голосов
/ 21 марта 2010

Как и то, что сказал Кевин, я предлагаю попробовать кэширование кода операции с помощью PHP. Я не уверен, какой из них сейчас лучший, но когда я посмотрел его год назад, я решил пойти с [eAccelerator] [1], и он отлично работает. Я также использовал APC на другом сервере, но я предпочитаю eAccelerator.

Вы, вероятно, должны последовать совету полковника Шрпнела, а также выполнить некоторые профилирования.

[1]: http://en.wikipedia.org/wiki/EAccelerator eAccelerator

0 голосов
/ 21 марта 2010

Страница генерируется за 0,0074 с. Время выполнения БД 0,0006 с (7,87%) с использованием 1 запроса БД, 7 выборок из кэша БД, 3 выборок из кэша RSS и 61,88 КБ памяти.

http://i42.tinypic.com/2m31frp.jpg

ой !!

не бьют - это его эталон;)

0 голосов
/ 21 марта 2010

Профилирование - ключевое слово в мире оптимизации производительности. Для профилирования вашего сайта вы должны измерить 2 разных области: время выполнения скриптов php и время загрузки всей страницы (включая картинки, javascripts, таблицы стилей и т.д.) Измерить PHP-скрипты довольно просто. Самый простой способ - разместить эту строку вверху вашей страницы

$TIMER['start']=microtime(1);

и эта строка внизу:

echo "Time taken: ".round(microtime(1) - $TIMER['start'],3);

если оно остается ниже 0,1 сек, все в порядке. Теперь на всю страницу загрузки. Не знаю, есть ли какой-нибудь http-сниффер с записью времени отклика.
Edit: похоже, что вкладка Net Firebug, упомянутая выше, является правильным инструментом для этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...