Your SlideShare is downloading. ×
Webloz2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Webloz2011

235
views

Published on

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

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

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
235
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Практически съвети за оптимално използване на сървърните ресурси Любомир Русанов
  • 2. Какво е сървърен ресурс?
    • Изразходвана памет;
    • Процесорно натоварване;
    • Интернет трафик;
    • Дискови операции;
    • Брой файлове;
    • База от данни;
    • Брой връзки към уеб сървъра;
  • 3. Основно правило за оптимизация
    • Грешките на програмистите ...
    • се решават ...
    • с повече ХАРДУЕР!!!
  • 4. До кога?
  • 5. Основни грешки
    • Динамично оразмеряване на картинки;
    • Излишно голям брой елементи на страницата;
    • Ненужни статистически модули;
    • Неоптимални алгоритми;
    • Проблемни бази данни и заявки;
    • Лош разчет на посещенията;
    • Самоопресняващи се и презареждащи се страници;
  • 6. Намерете тясното място
    • Концентрирайте се върху най-често извикваният код;
    • Използвайте кеширане;
    • Не извиквайте външни ресурси в реално време;
    • Използвайте оптимални SQL заявки;
    • Тествайте с големи обеми данни още при разработка;
  • 7. Използване на XDebug
    • XDEBUG е extension за дебъгване, трейсване, профилиране на php приложения;
    • XDEBUG-a се поддържа от всички съвременни среди за php разработка: NetBeans, Eclipse и др.;
    • Профайлера е подходящ за тестване на приложения, които имат проблем със скоростта, а и за откриване на тесни места (bottleneck);
    • Информацията от профайлера може да се анализира със различни приложения;
  • 8. Анализиране на 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-ове.
  • 9.  
  • 10.  
  • 11. Няколко полезни връзки
    • 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/
  • 12. Съвети за бази от данни
    • Използвайте правилните типове данни;
    • Нормализирайте данните – създавайте правилни схеми;
    • Създавайте индекси – само когато са необходими;
    • Пишете заявките така, че да могат да използват индекси;
    • Използвайте само тези колони, които ви трябват;
    • Използвайте inner join винаги, когато е възможно;
  • 13. Правилно! Грешно!
  • 14. SELECT * FROM project_categories pc INNER JOIN projects p ON p.id = pc.project_id Използване на индекс за join! Без използване на индекс за join!
  • 15. Въпроси и отговори
  • 16. Благодаря Ви! Любомир Русанов http://www.superhosting.bg http://blog.superhosting.bg http://facebook.com/superhosting http://twitter.com/SuperHostingBG

×