'

Практически съвети за оптимално използване на сървърните ресурси Любомир Русанов

Понравилась презентация – покажи это...





Слайд 0

Практически съвети за оптимално използване на сървърните ресурси Любомир Русанов


Слайд 1

Какво е сървърен ресурс? Изразходвана памет; Процесорно натоварване; Интернет трафик; Дискови операции; Брой файлове; База от данни; Брой връзки към уеб сървъра;


Слайд 2

Основно правило за оптимизация Грешките на програмистите ... се решават ... с повече ХАРДУЕР!!!


Слайд 3

До кога?


Слайд 4

Основни грешки Динамично оразмеряване на картинки; Излишно голям брой елементи на страницата; Ненужни статистически модули; Неоптимални алгоритми; Проблемни бази данни и заявки; Лош разчет на посещенията; Самоопресняващи се и презареждащи се страници;


Слайд 5

Намерете тясното място Концентрирайте се върху най-често извикваният код; Използвайте кеширане; Не извиквайте външни ресурси в реално време; Използвайте оптимални SQL заявки; Тествайте с големи обеми данни още при разработка;


Слайд 6

Използване на XDebug XDEBUG е extension за дебъгване, трейсване, профилиране на php приложения; XDEBUG-a се поддържа от всички съвременни среди за php разработка: NetBeans, Eclipse и др.; Профайлера е подходящ за тестване на приложения, които имат проблем със скоростта, а и за откриване на тесни места (bottleneck); Информацията от профайлера може да се анализира със различни приложения;


Слайд 7

Анализиране на profiling данните Цялата profiling информация се записва в лог файл; kCacheGrind - за Linux - http://kcachegrind.sourceforge.net/html/Home.html winCacheGrind - Aналог за Windows - http://sourceforge.net/projects/wincachegrind/ И двата продукта дават информация за: Времето за изпълнение на всички извиквания към php функции (библиотечни или не) - както времето за изпълнение на самата функция (stand alone), така и общото акумулирано време , ако тази функция е викана, напр. в цикъл. Дърво на извикванията (в linux версията представена графично) Пълен списък на графовете Извикан->Извикващ. Stack-trace-ове.


Слайд 8


Слайд 9


Слайд 10

Няколко полезни връзки http://devzone.zend.com/article/2930 http://devzone.zend.com/article/2899-Profiling-PHP-Applications-With-xdebug http://devzone.zend.com/article/2871-Tracing-PHP-Applications-with-xdebug http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug http://affinitybridge.com/blog/code-optimization-xdebug-and-kcachegrind http://techmania.wordpress.com/2008/07/02/debugging-php-in-eclipse-using-xdebug/


Слайд 11

Съвети за бази от данни Използвайте правилните типове данни; Нормализирайте данните – създавайте правилни схеми; Създавайте индекси – само когато са необходими; Пишете заявките така, че да могат да използват индекси; Използвайте само тези колони, които ви трябват; Използвайте inner join винаги, когато е възможно;


Слайд 12

Правилно! Грешно!


Слайд 13

SELECT * FROM project_categories pc INNER JOIN projects p ON p.id = pc.project_id Използване на индекс за join! Без използване на индекс за join!


Слайд 14

Въпроси и отговори


Слайд 15

Благодаря Ви! Любомир Русанов http://www.superhosting.bg http://blog.superhosting.bg http://facebook.com/superhosting http://twitter.com/SuperHostingBG


×

HTML:





Ссылка: