Мои PHP скрипты очень медленные на сервере - PullRequest
0 голосов
/ 22 января 2011

Я тестирую приложение, размещенное по адресу: app.promls.net, но есть некоторая ошибка при выполнении скрипта, на localhost уходит только -> таймер: 0,12875008583069 секунд.,в исполнении когда просто текст, который создается через php.и когда контент создается динамически и поступает из базы данных mysql: timer: 0,44203495979309 секунд./ таймер: 0,65762710571289 секунд./ таймер: 0,48272085189819 секунд.времена на сервере разные.На выполнение уходит около 8 секунд.

Кто-нибудь может дать мне рекомендацию о том, как тестировать и оптимизировать выполнение моего php.я оптимизировал базу данных mysql, потому что некоторые запросы возвращают тонны строк для простого поиска, используя описать и объяснить.но знаю, что я закончил, и я хотел бы изучить некоторые новые возможности для выполнения PHP.я знаю, что добавление сжатия в html помогает, но оно помогает только во время транспортировки между сервером и конечным хостом, когда возвращается ответ html.Я знаю, что хочу оптимизировать выполнение php, и если на mysql есть какие-то трюки, которые помогут мне улучшить время отклика.

примечание: у меня есть мысль использовать хип-хоп для php и memcache или cassandraно я думаю, что эти мысли не являются результатом проблемы, потому что у меня нет действий (означает действия пользователя) и нет много информации о моем приложении.

спасибо заранее, я доступен для любых комментариев или предложений.

Ответы [ 2 ]

0 голосов
/ 22 января 2011

Во-первых, выключите, попробуйте сделать следующее для вашей БД MYSQL:

  1. Запустите «OPTIMIZE TABLE mytable» на всех ваших таблицах
  2. Запустите «ANALYZE TABLE mytable» на всех ваших таблицахваших таблиц.
  3. Добавьте индексы к полям таблицы, которые вы используете

Обязательно замените каждое имя таблицы на "mytable" в приведенных выше инструкциях.

См., Если выполнение первых двух имеет значение, затем добавьте индексы.

0 голосов
/ 22 января 2011

с такой большой разницей в исполнении нам понадобятся подробности о конфигурации хоста (совместно используемая? Выделенная?).

mysql пропускает тест DNS? Если нет, попробуйте использовать параметр skip-name-resol * в my.cnf или используйте IP, а не DNS в таблице запросов / пользователей PRIVILEGE, единственный раз, когда я видел такую ​​задержку, это было из-за таймаута DNS соединение между MySQL и PHP.

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