SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

оптимизация на php

ted

New member
Почти съм достигнал лимита си за сървърно време на хоста който ползвам и сега се боря за всяка милисекунда при генерирането на страниците.
Бих искал да попитам програмистите тук /аз съм си пълен аматьор/ кой от двата подхода използва по-малко сървърно време:

Код:
echo "html код";
echo "html код";
echo "$promenliva";
echo "html код";

или

Код:
html код
html код
<? echo "$promenliva";?>
html код
От тестовете които правех на моя комп ми се струва че вторият вариант е по-добър но ...
 
Re: оптимизация на php

При първия не минава ли всичко през PHP-то ... ? там съм пропуснал да сложа
<?php
echo "html код";
echo "html код";
echo "$promenliva";
echo "html код";
?>
Това мисля че се включва в отчитането на сървърното време ?
 
Re: оптимизация на php

Напротив вторият начин е по-бърз. Там се интерпретира само това, което е във <?php ...?>. То така или иначе се парсва целят файл.
Ако искаш още по-бързо използвай:
echo $var . " text";
вместо
echo "$var text";
Но според мен с това няма да получиш голяма оптимизация. Виж си завките към базата данни дали немогат да се оптимизират, селектвай само това което ти е нужно, избягвай select *. Прегледай да нямаш заявки, които са в тялото на цикъл, със сигурност има друг начин да се направи това.
Поздрави.
 
Re: оптимизация на php

Оптимизирай си запитванията към базата данни, някакво CMS ли ползваш, форум?!
 
Re: оптимизация на php

Аз съм си писал нещата. Заявките са сведени до минимум. Сайта за игри е - в подписа - има и брояч на времето за генериране на страницата но реалното отчитане винаги е доста повече - със 148 000 отворени страници правя 90 минути при лимит 80 дневно само страницата със вицове се генерира за по-дълго време защото там са 10 случайни от всички
ORDER BY RAND()
съм забелязал че бави много, но пък тя не е от най посещаваните ...
 
Re: оптимизация на php

Нямаш ли вариант да си купиш още ресурси от хостинга

Това в общия случай излиза по-евтино от алтернативата да ръчкаш по кода. Имай предвид че може да строшиш нящо така...
 
Re: оптимизация на php

Вече строших - 2 дена не съм имал title таг и паднах с по една позиция за основните думи докато се усетя ...
 
Последно редактирано:
Re: оптимизация на php

За кода съм 99% сигурен, че 2рия е по-бърз, а и така са ме учили да пиша хтмл да не го принтвам. Направи си кеширане на страниците спри заявките, които са излишни - статистики. Някой цмси за тия игри са така глупаво измислени, че може дори и сега да ти стигне по-голям хостинг пакет след време ще ти трябва нает сървър. Статистиките,таговете и релейтед игри са обикновено това което товари. Ако сам си си писал кода погледни колко пъти си ползвал like, * и за да изкарваш броя на елементите кое си ползвал ? select * tablica с или без count. Каквото и да променяш кеширането е перфектния вариант за такъв сайт. Уордпрес има такъв плъгин и ти препоръчвам да го разгледаш как работи.
 
Re: оптимизация на php

Аз съм си писал нещата. Заявките са сведени до минимум. Сайта за игри е - в подписа - има и брояч на времето за генериране на страницата но реалното отчитане винаги е доста повече - със 148 000 отворени страници правя 90 минути при лимит 80 дневно само страницата със вицове се генерира за по-дълго време защото там са 10 случайни от всички съм забелязал че бави много, но пък тя не е от най посещаваните ...
Здравей, на заявката за вицовете сложи един LIMIT 10
Ако имаш много вицове сигурно за това ти бави.
Поздрави.
 
Re: оптимизация на php

...само страницата със вицове се генерира за по-дълго време защото там са 10 случайни от всички съм забелязал че бави много, но пък тя не е от най посещаваните ...
A, LIMIT 10 имаш ли? Не се заяждам, просто ми хрумна.
 
Последно редактирано:
Re: оптимизация на php

Имам :) не че не ми се е случвало, но съм забелязал че когато ползваш ORDER BY RAND() за да вземеш случайни записи винаги бавенето е в повече /чувствително/ отколкото ако взимаш поредни същата бройка - нали трябва първо да "разджурка" базата ...
@nikoladd благодаря за линка - разучавам го в момента.
 
Re: оптимизация на php

Имам :) не че не ми се е случвало, но съм забелязал че когато ползваш ORDER BY RAND() за да вземеш случайни записи винаги бавенето е в повече /чувствително/ отколкото ако взимаш поредни същата бройка - нали трябва първо да "разджурка" базата ...
@nikoladd благодаря за линка - разучавам го в момента.

А защо не направиш RAND-а в php-то и после да направиш select само по ранднатите ID-та. Така няма да мъчиш базата
 
Re: оптимизация на php

Ето какво направих и какъв беше ефекта.

1- премахнах всички include които можах. Вкарах дизайна, блоковете, и рекламния код директно в кода на отделните модули. Това даде възможност да премахна проверките и забраната за директен достъп до файловете които отпаднаха. Кода стана малко по-грозен и неподреден което затруднява редакцията ако се наложи, но понеже аз съм си го писал няма да ми е голям проблем ако се наложат корекции

2- основния код го направих на чисто html като вкарах променливите в него по втория начин от първия пост.

3- прегледах всички заявки към базата данни и на няколко места замених select* с изброяване само на полетата които ми трябват

4- прегледах защитите които ползвах и оптимизирах няколко неща които се повтаряха в различни функции - бях ги заимствал от различни места и сега просто ги обединих в едно.

Резултата който се получи:
Преди оптимизацията: 14.09.2009 - 148 000 отворени страници - 90 минути сървърно време, средно по 0,0365 секунди на страница.
След оптимизацията: 21.09.2009 - 155 000 отворени страници - 13 минути сървърно време, средно по 0,005 секунди на страницата.
или намалението е 7.3 пъти.

Искам да благодаря на Суперхостинг за това, че ме изтърпяха при поредното ми надвишаване лимита за сървърно време - 80 минути на моя план - и ми дадоха възможност да оптимизирам сайта си без да има сътресения по неговата работа.
 
Re: оптимизация на php

супер, доста по-добре от преди :)
Затова е най-добре сам да си си писал кода, ако беше с готова система щеше да използваш няколко десетки пъти повече сървърно време
 
Re: оптимизация на php

Сега пробвах с новия ми сайт за игри.
С include на всеки блок - последни игри, най-играни, случайни и другите неща -
<!-- Заявката е изпълнена за 0.74835395813 секунди -->

Когато същия код е вкаран направо, без include, а направо в един файл ми е всичко, същите модули
<!-- Заявката е изпълнена за 0.0156939029694 секунди -->

Което си е 50 пъти по-малко :)
Никога повече include :D
 
Re: оптимизация на php

Сега пробвах и друго нещо
при зададен
PHP:
<? include "http://www.site.com/something.php";?>
<!-- Заявката е изпълнена за 0.117985963821 секунди -->
а при зададен
PHP:
<? include "something.php";?>


<!-- Заявката е изпълнена за 0.00535297393799 секунди -->


още нещо което научих - не трябва да се инклудва с url :)
 

Горе