Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
Bon_Silver
Зарегистрирован: 12.02.04
Сообщения: 6
|
Добавлено: 22/08/04 в 22:14
|
|
Приветствую
Помогите в оптимизации работы ПХП скрипта.
Инклуд ПХП скрипта в ХТМЛ.
ПХП скрипт выполняет функцию на 90 % трафика показывает статичный ХТМЛ на 10 % генерирует рандомом тумбы. При чем отказаться от скрипта не хотелось бы. Так как скрипт генерирует рандомом каждому пользователю новый набор тумб случайным образом.
Пример пхп:
srand ((double) microtime() * 1000000); $randnum = rand(1,100);
$opt_rand_proc = 10;
if ($randnum>$opt_rand_proc) { ?> {STATIC} <? flush(); exit(); } else { {Random} }
В index.shtml пхп инклудим следующим образом:
<!--#include virtual="ind.php" -->
работа данного инклуда даже при проценте рандома = 0 роняет продуктивность CJ напроч. Т.е. Делаю 100 % статичную страницу CJ разгоняется. Делаю динамическую через инклуд при проценте =0 Cj начинает падать.
1. Возможно ли ускорить работу за счет кэширования PHP или превращения его в бинарник ?
И еще один вопрос какой метод будет быстрее работать. 2. Чтение из MYSQL данных или чтение из файла на диске ? метод открытия файла include $opt_static_result_file;
Спасибо.
|
K началу
|
|
|
Leon
Зарегистрирован: 01.12.02
Сообщения: 187
|
Добавлено: 22/08/04 в 22:40
|
|
2. Чтение из MYSQL данных или чтение из файла на диске ?
мускуль, но проиндексированный правильно, и на хорошем хосте...
ЗЫ. падение прода из-за работы самой пхп врятли будет снижать прод, мот где еррор сидит
|
K началу
|
|
|
Bon_Silver
Зарегистрирован: 12.02.04
Сообщения: 6
|
Добавлено: 22/08/04 в 23:38
|
|
А коннекция к Мускулю не занимает времени ?
Ерроров в том то и дело нет. Весь скрипт уже несколько раз перепроверили. Возможно в какой то функции большой Таймаут. Трафф заметно падает при 3 к в час.
|
K началу
|
|
|
Caliostro
Зарегистрирован: 28.07.04
Сообщения: 104
|
Добавлено: 23/08/04 в 00:17
|
|
файл на диске или мускл?
имхо файл на диске... что такое мускл? это приложение (СУБД) которое работает с такими же файлами базы данных, лежащими в файловой системе сервера... т.е. это посредник между PHP и файлами БД...
а зачем тебе посредник? работай с файлами сам...
|
K началу
|
|
|
Leon
Зарегистрирован: 01.12.02
Сообщения: 187
|
Добавлено: 23/08/04 в 00:38
|
|
Времени на открытие->блокировку->чтение (поиск в файле это вообще гибель)->разблокировку->закрытие на много больше времени занимает... Мускуль, даже без постоянного соединения, меньше времени отнимает на все это... А если база большая, то без мускуля вообще хоть вешайся. Вместо использования <!--#include virtual="ind.php" --> напиши весь файл на пхп со вставками ХТМЛ.
|
K началу
|
|
|
sAx
Зарегистрирован: 07.06.00
Сообщения: 2257
|
Добавлено: 23/08/04 в 00:52
|
|
Чтобы не гадать, что быстрее будет работать файл на диске или мускуль, возьми и проверь -- замеряй время на выполнение обоих операций. На самом деле это спорный вопрос, т.к. зависит от настройки серва. Обычно только короткие файлы открываются быстрее, чем запрос к базе.
Bon_Silver: откажись вообще от инклюда впиши весь код в один файл, а если надо сохранить название страницы (index.htm) -- переопредели тип htm на обработку ПХП
|
K началу
|
|
|
Caliostro
Зарегистрирован: 28.07.04
Сообщения: 104
|
Добавлено: 23/08/04 в 01:00
|
|
странно тогда, что 99% продавцов софта, отдельно огаваривают отказ от мускла как большой плюс своего программного продукта...
будь то сиджи, граберы, ротаторы и т.д.
|
K началу
|
|
|
Bon_Silver
Зарегистрирован: 12.02.04
Сообщения: 6
|
Добавлено: 23/08/04 в 01:06
|
|
Да выписать пхп в index.php было бы хорошо. НО!!!
В shtml есть такая вставка скрипта ТМ3. <!--#exec cmd=".../cgi-bin/tm3/m" --> бинарного. который выдает куку. И если он не определяет рефф то пишет NoTrade и код куки не выдает. Пробовали использовать
print '../cgi-bin/tm3/m`
тогда переменные окрыжения до внешней программы не доходят и куку мы не получаем.
|
K началу
|
|
|
sAx
Зарегистрирован: 07.06.00
Сообщения: 2257
|
Добавлено: 23/08/04 в 01:36
|
|
print '../cgi-bin/tm3/m` Принт, как и любой вывод в броузер, использовать нельзя, т.к. сначала должны передаться "хеадеры" (куки передаются именно через них). Сначала передай все хеадеры, а потом принтуй, сколько влезет.
|
K началу
|
|
|
Bon_Silver
Зарегистрирован: 12.02.04
Сообщения: 6
|
Добавлено: 23/08/04 в 02:32
|
|
Хедеры передал и резултат отработки скрита выдал хедером. Все ок. Спасибо.
|
K началу
|
|
|
Dr.Syshalt
Зарегистрирован: 14.05.04
Сообщения: 145
|
Добавлено: 25/08/04 в 06:54
|
|
Caliostro писал: | странно тогда, что 99% продавцов софта, отдельно огаваривают отказ от мускла как большой плюс своего программного продукта... будь то сиджи, граберы, ротаторы и т.д. |
Ха-ха-ха
Быстрее СУБД может быть только грамотно написанная тобой специально для этого случая СУБД - с проиндексированными файлами, с B-Tree доступом, и т.д. Причины рекламировать отказ от СУБД как средства хранения данных в пользу текстовых файлов может быть, имхо, только две - либо как возможность это разместить на хостинге, который доступа к базам не дает, либо неграмотность рекламирующего
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|