PHP Отладка и оптимизация

Записки веб разработчика

Четверг, 15 Март. 2007

Zolotaia formula cachirovania v php


- пользователь запросил страницу;
- смотрим есть ли она кешированная;
- если нет генерим кеш и выдаем его, если есть — сразу выдаем кеш;
- при обновлении информации в базе убиваем нужный кеш(в зависимости от того чего обновили).

http://xpoint.ru/forums/development/analysis/thread/39419.xhtml

Twitter Bookmark Zolotaia formula cachirovania v php  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Zolotaia formula cachirovania v php Mixx Zolotaia formula cachirovania v php Bloglines Zolotaia formula cachirovania v php Technorati Zolotaia formula cachirovania v php Fark this: Zolotaia formula cachirovania v php Bookmark Zolotaia formula cachirovania v php  at YahooMyWeb Bookmark Zolotaia formula cachirovania v php  at Furl.net Bookmark Zolotaia formula cachirovania v php  at reddit.com Bookmark Zolotaia formula cachirovania v php  at blinklist.com Bookmark Zolotaia formula cachirovania v php  at Spurl.net Bookmark Zolotaia formula cachirovania v php  at NewsVine Bookmark Zolotaia formula cachirovania v php  at Simpy.com Bookmark Zolotaia formula cachirovania v php  at blogmarks Bookmark Zolotaia formula cachirovania v php  with wists Bookmark Zolotaia formula cachirovania v php  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

Четверг, 8 Март. 2007

Советы по оптимизации php & mysql



Советы по оптимизации php & mysql

Тот кто хочет получить высокую проиводительность – не пишет просто быстрые скрипты. Для достижения высокой производительности PHP требуется хорошее понимание работы основных аппаратных средств, операционной системы и другого ПО, типа сервера и базы данных

Оптимизация баз данных

Если запрос занимает много времени воспользуйтесь командой EXPLAIN чтобы узнать каким образом Mysql выполняет этот запрос

Explain Select …

Оптимизация таблиц

Optimize table table_name [,table_name]

Выбирайте самый эффективные типы данных:
- mediumint часто оказывается эффективнее int
- обьявляйте колонки как Not null
- избегайте колонок blob, text и varchar
- первичный ключ таблицы должен быть как можно более коротким
- увеличивайте эффективность индекса – если известно что первые Х символом колонки уникальны то генерируйте индекс по этому числу символов
- не делайте индексы для каждой колонки таблицы

Правильно спроектирование базы данных должны иметь индексы, лучшие индексы те – которые создаются в команде Create table и учавстсвуют в множестве запросов. Лишние индексы замедляют запросы на обновление и удаление.
MySQL использует индексы автоматически, чтобы узнать какие индексы используются в текущем запросе нужно использовать команду Explain

Оптимизация запросов SELECT
Для их оптимизации проверьте можно ли добавить индекс. С помощью explain проверьте какие индексы используются и не следует ли их создать.

Оптимизация запросов INSERT
Этого можно добится используя команду INSERT DELAYED вместо INSERT, Клиент получает потверждение о успеной вставке хотя операция на сервере еще не завершена.
При загрузке данных из файла используйте LOAD DATE INFILE что в 20 раз быстрее чем множественные INSERT
Блокировка таблиц перед вставкой ускоряет эту операцию
LOCK TABLES a WRITE ;
INSERT…
INSERT…
UNLOCK TABLES;

Оптимизация запросов UPDATE
Оптимизируйте команды UPDATE как если бы они были SELECT

Оптимизация запросов DELETE
Для того чтобы удалить все записи из таблицы используйте команду TRUNCATE TABLE table_name вместо DELETE

Оптимизация соединений
Можно устанавливать постоянные соединения и избежать создания нового соединения с базой данных для каждого запроса :
mysql_pconnect
Продолжить чтение "Советы по оптимизации php & mysql"

Twitter Bookmark Советы по оптимизации php & mysql  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Советы по оптимизации php & mysql Mixx Советы по оптимизации php & mysql Bloglines Советы по оптимизации php & mysql Technorati Советы по оптимизации php & mysql Fark this: Советы по оптимизации php & mysql Bookmark Советы по оптимизации php & mysql  at YahooMyWeb Bookmark Советы по оптимизации php & mysql  at Furl.net Bookmark Советы по оптимизации php & mysql  at reddit.com Bookmark Советы по оптимизации php & mysql  at blinklist.com Bookmark Советы по оптимизации php & mysql  at Spurl.net Bookmark Советы по оптимизации php & mysql  at NewsVine Bookmark Советы по оптимизации php & mysql  at Simpy.com Bookmark Советы по оптимизации php & mysql  at blogmarks Bookmark Советы по оптимизации php & mysql  with wists Bookmark Советы по оптимизации php & mysql  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

Понедельник, 5 Март. 2007

Буфер & Кэширование

Буфер - область памяти для временного хранения промежуточных данных.

Кэширование - накопление данных в доступном хранилище, с целью их быстрого извлечения по мере надобности. Кэширование ускоряет процесса обработки информации.
Twitter Bookmark Буфер  & Кэширование  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Буфер  & Кэширование Mixx Буфер  & Кэширование Bloglines Буфер  & Кэширование Technorati Буфер  & Кэширование Fark this: Буфер  & Кэширование Bookmark Буфер  & Кэширование  at YahooMyWeb Bookmark Буфер  & Кэширование  at Furl.net Bookmark Буфер  & Кэширование  at reddit.com Bookmark Буфер  & Кэширование  at blinklist.com Bookmark Буфер  & Кэширование  at Spurl.net Bookmark Буфер  & Кэширование  at NewsVine Bookmark Буфер  & Кэширование  at Simpy.com Bookmark Буфер  & Кэширование  at blogmarks Bookmark Буфер  & Кэширование  with wists Bookmark Буфер  & Кэширование  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

PHP и Web. Кэширование.

statia po kashirovaniu : http://www.codenet.ru/webmast/php/caching.php
Twitter Bookmark PHP и Web. Кэширование.  at del.icio.us Facebook Google Bookmarks FriendFeed Digg PHP и Web. Кэширование. Mixx PHP и Web. Кэширование. Bloglines PHP и Web. Кэширование. Technorati PHP и Web. Кэширование. Fark this: PHP и Web. Кэширование. Bookmark PHP и Web. Кэширование.  at YahooMyWeb Bookmark PHP и Web. Кэширование.  at Furl.net Bookmark PHP и Web. Кэширование.  at reddit.com Bookmark PHP и Web. Кэширование.  at blinklist.com Bookmark PHP и Web. Кэширование.  at Spurl.net Bookmark PHP и Web. Кэширование.  at NewsVine Bookmark PHP и Web. Кэширование.  at Simpy.com Bookmark PHP и Web. Кэширование.  at blogmarks Bookmark PHP и Web. Кэширование.  with wists Bookmark PHP и Web. Кэширование.  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

HOWTO по оптимизации PHP

http://www.compdoc.ru/internet/php/howto_optimization_php/
Twitter Bookmark HOWTO по оптимизации PHP  at del.icio.us Facebook Google Bookmarks FriendFeed Digg HOWTO по оптимизации PHP Mixx HOWTO по оптимизации PHP Bloglines HOWTO по оптимизации PHP Technorati HOWTO по оптимизации PHP Fark this: HOWTO по оптимизации PHP Bookmark HOWTO по оптимизации PHP  at YahooMyWeb Bookmark HOWTO по оптимизации PHP  at Furl.net Bookmark HOWTO по оптимизации PHP  at reddit.com Bookmark HOWTO по оптимизации PHP  at blinklist.com Bookmark HOWTO по оптимизации PHP  at Spurl.net Bookmark HOWTO по оптимизации PHP  at NewsVine Bookmark HOWTO по оптимизации PHP  at Simpy.com Bookmark HOWTO по оптимизации PHP  at blogmarks Bookmark HOWTO по оптимизации PHP  with wists Bookmark HOWTO по оптимизации PHP  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

Четверг, 1 Март. 2007

xdebug vivodi

Nastroiki v php.ini

;zend_extension_ts="c:/wamp/php/ext/php_xdebug-2.0.0rc3-5.2.1.dll"
;xdebug.profiler_output_dir = "C:/wamp/tmp/debug"
;xdebug.profiler_enable = 1

;xdebug.trace_output_dir = "C:/wamp/tmp/debug/trace/"
;xdebug.trace_format = 0
;xdebug.auto_trace=on

;xdebug.dump_undefined = on
;xdebug.dump_once = off
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.REQUEST

------------------------------------
Mogu raspeceatati array v citabelinom vide : xdebug_var_dump($Row);
Mogu otslejivati vipolnenie faila po vremeni, kakie faili i kakie funktsii zapuskaiut - eto delaetsa ustanavlivaia vishe opisannie nastroiki "trace" a potom prosmatrivaiu fail v ukazannoi papke.
Primer faila :


TRACE START [2007-03-01 10:33:44]
0.0024 58392 -> {main}() C:****************\rechercher_compte_ldcom.php:0
0.0148 643248 -> require(C:***************\lib_fonctions.inc.php)
TRACE END [2007-03-01 10:33:44]
-----------------------

Nu i nailucshim ispolizovaniem skoree vsego iavleaetsea sozdanie cachegrid failov i prosmatrivanie ih WinCacheGrid

hotea budu iskati necito podobnoe no citobi rabotalo bez vneshnih prilojenii i citobi vivodila infu v samom scripte.

poka vseo :-)
Twitter Bookmark xdebug vivodi  at del.icio.us Facebook Google Bookmarks FriendFeed Digg xdebug vivodi Mixx xdebug vivodi Bloglines xdebug vivodi Technorati xdebug vivodi Fark this: xdebug vivodi Bookmark xdebug vivodi  at YahooMyWeb Bookmark xdebug vivodi  at Furl.net Bookmark xdebug vivodi  at reddit.com Bookmark xdebug vivodi  at blinklist.com Bookmark xdebug vivodi  at Spurl.net Bookmark xdebug vivodi  at NewsVine Bookmark xdebug vivodi  at Simpy.com Bookmark xdebug vivodi  at blogmarks Bookmark xdebug vivodi  with wists Bookmark xdebug vivodi  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

Четверг, 22 Февраль. 2007

XDEBUG PROFILING MODES

PROFILING MODES

XDEBUG_PROFILER_LBL (0) default
Line by Line Profile, this is the simplest profiling mode that will display the profiling data sorted by line numbers from smallest to greatest. This profile mode can be used to give you a quick overview of your code's flow as the script progresses, to give you some a general idea about which section(s) of the code optimization efforts should focus on.

XDEBUG_PROFILER_CPU (1)
Execution Time Profile, this is essentially the same profile as line by line, with one notable exception, the function calls are sorted by the amount of time they took to execute, from greatest to smallest.

XDEBUG_PROFILER_NC (2)
When the profiler encounters the same function being called on the same line it will merge the calls to this function on that line into a single entry. This profile mode, which is virtually identical to the line by line profile will sort the profiler data based on number of calls to the same function on the same line. Since it is very rare that you would call the same function on the same line more then once and usually signifies unnecessary code this profile mode enables you to quickly detect and resolve such oversights.

XDEBUG_PROFILER_FS_AV (3)
Average Execution Time Profile, all calls to the same function will be merged into a single entry and the output will be sorted based on the average time each function took to execute, sorted from greatest to smallest. This is probably one of the more useful profiling modes because it allows you to immediately see, which functions are slow and could use improvement.

XDEBUG_PROFILER_FS_SUM (4)
Total Execution Time Profile is almost identical to the Average Execution Time Profile, except this the output is sorted based on the total time calls to a certain function took. Once again a very useful profile, because it allows you to see the cumulative effect of calling a particular function.

XDEBUG_PROFILER_FS_NC (5)
Number of Total Function Calls Profile, will generate a profile similar to Average Execution Time Profile, with the one exception of sorting the data based on the number of calls to a particular function in the entire script. This is very useful in determining, what common functions are used, so that you can either optimize their usage or try to reduce the number of calls to those functions.

XDEBUG_PROFILER_SD_LBL (6)
Line by Line Stack Profile, this profile allows you to see the execution tree of the functions used in the script, allowing you to see the 'flow' of the script and how long each portion took.

XDEBUG_PROFILER_SD_CPU (7)
Execution Time Stack Profile, nearly identical to Line by Line Stack Profile, only now the stack segments are sorted based on the time it took to execute each portion of the code.

XDEBUG_PROFILER_SD_NC (8)
Total Function Calls Stack Profile, same as above, only sorted by number of function calls this time.
Twitter Bookmark XDEBUG PROFILING MODES  at del.icio.us Facebook Google Bookmarks FriendFeed Digg XDEBUG PROFILING MODES Mixx XDEBUG PROFILING MODES Bloglines XDEBUG PROFILING MODES Technorati XDEBUG PROFILING MODES Fark this: XDEBUG PROFILING MODES Bookmark XDEBUG PROFILING MODES  at YahooMyWeb Bookmark XDEBUG PROFILING MODES  at Furl.net Bookmark XDEBUG PROFILING MODES  at reddit.com Bookmark XDEBUG PROFILING MODES  at blinklist.com Bookmark XDEBUG PROFILING MODES  at Spurl.net Bookmark XDEBUG PROFILING MODES  at NewsVine Bookmark XDEBUG PROFILING MODES  at Simpy.com Bookmark XDEBUG PROFILING MODES  at blogmarks Bookmark XDEBUG PROFILING MODES  with wists Bookmark XDEBUG PROFILING MODES  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!

PHP : profiling, monitoring, otladka

http://developpeur.journaldunet.com/tutoriel/php/060608-php-profiling-xdebug.shtml

http://www.xdebug.org/

---
zend_extension_ts = "c:/Program Files/wamp/php/ext/php_xdebug-5.1.1-2.0.0beta5.dll"
xdebug.auto_profile = 1
xdebug.profiler_output_dir = "C:/Program Files/wamp/tmp"
xdebug.profiler_enable = 1
---
Client prosmotra grid failov : http://sourceforge.net/projects/wincachegrind/
Twitter Bookmark PHP : profiling, monitoring, otladka  at del.icio.us Facebook Google Bookmarks FriendFeed Digg PHP : profiling, monitoring, otladka Mixx PHP : profiling, monitoring, otladka Bloglines PHP : profiling, monitoring, otladka Technorati PHP : profiling, monitoring, otladka Fark this: PHP : profiling, monitoring, otladka Bookmark PHP : profiling, monitoring, otladka  at YahooMyWeb Bookmark PHP : profiling, monitoring, otladka  at Furl.net Bookmark PHP : profiling, monitoring, otladka  at reddit.com Bookmark PHP : profiling, monitoring, otladka  at blinklist.com Bookmark PHP : profiling, monitoring, otladka  at Spurl.net Bookmark PHP : profiling, monitoring, otladka  at NewsVine Bookmark PHP : profiling, monitoring, otladka  at Simpy.com Bookmark PHP : profiling, monitoring, otladka  at blogmarks Bookmark PHP : profiling, monitoring, otladka  with wists Bookmark PHP : profiling, monitoring, otladka  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend!