PHP Оптимизация.

12
adrin02
На сайте с 12.04.2006
Offline
85
804

Покажите какой нибудь скрипт хорошо оптимизированный. Например гостевую книгу или другое что то небольшое.

Нужен для примера и изучения. Нужен Опыт! :smoke:

Хостинг изображений (http://likepic.net) SpeedTest (http://speed-tester.info)
T.R.O.N
На сайте с 18.05.2004
Offline
314
#1
adrin02:
скрипт хорошо оптимизированный.

оптимизирован под что?

- скорость исполнения.

- простота допиливания (плагины и т.д.).

- чистота кода.

- удобство использования (юзабельность).

- минимизация нагрузки на проц.

- минимизация требуемой памяти.

и еще, Вы хотите изучать всетаки сам пых или фреймворки для него

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
Dreammaker
На сайте с 20.04.2006
Offline
569
#2

adrin02, если вы имеете в виду, оптимизацию под нагрузки, то реальные проекты в большинстве случаев латаются под потребности.

Кроме того, то что вы глянете код ещё ничего не значит, ибо например, вот такой код:

mysql_query('SELECT * FROM table WHERE id = 2 AND category = 1');

вроде бы и оптимизировать негде, но можно проставить индексы на id и category, да и то можно пойти далее и это будет более правильно - поставить индексы не по отдельности на столбцы, а составной индекс на оба столбца. Да и то, если будет стоять индекс ind(category, id) это будет неправильно, нужно чтобы был ind(id, category).

А вот если запрос был в виде mysql_query('SELECT * FROM table WHERE category = 1 AND id = 2'); то составной индекс должен быть наоборот - как указано первый раз.

Вы думаете вы это увидите из кода? :)

FeoOne
На сайте с 27.12.2008
Offline
32
#3
Dreammaker:
adrin02, если вы имеете в виду, оптимизацию под нагрузки, то реальные проекты в большинстве случаев латаются под потребности.

Кроме того, то что вы глянете код ещё ничего не значит, ибо например, вот такой код:

mysql_query('SELECT * FROM table WHERE id = 2 AND category = 1');

вроде бы и оптимизировать негде, но можно проставить индексы на id и category, да и то можно пойти далее и это будет более правильно - поставить индексы не по отдельности на столбцы, а составной индекс на оба столбца. Да и то, если будет стоять индекс ind(category, id) это будет неправильно, нужно чтобы был ind(id, category).

А вот если запрос был в виде mysql_query('SELECT * FROM table WHERE category = 1 AND id = 2'); то составной индекс должен быть наоборот - как указано первый раз.

Вы думаете вы это увидите из кода? :)

она разве про оптимизацию баз данных спрашивал?

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#4

adrin02, не парьтесь. Когда нужно сильно оптимизировать участок PHP кода, его часто переписывают на C ;) Обычно затык в скорости работы базы и запросах.

Неизменность точки зрения неизменно порождает иллюзию понимания.
T.R.O.N
На сайте с 18.05.2004
Offline
314
#5

Dreammaker, Интересно, Вы на самом деле считаете, что веб программирование сводится к мускулу или это ради прикола?

Dreammaker
На сайте с 20.04.2006
Offline
569
#6

T.R.O.N, я считаю, что в большинстве веб-приложений, в которых нет супер-пупер логики рассчётов полётов 10 космических кораблей на Луну,

Слава Шевцов:
Обычно затык в скорости работы базы и запросах.

Так же затык может быть в отдачё статики, например, но это уже вопросы к админу с нгинксами и т.д. - в большинстве случаев это не задача веб-программиста.

Во многих других случаях, оптимизация будет на уровне "экономии на спичках".

p.s. Грамотная архитектура тоже играет роль, но в данной ситуации, когда нужна "гостевуха", речь можно об этом даже не вести :)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#7
Dreammaker:
я считаю, что в большинстве веб-приложений

, большинство веб-приложений это обычные сайты. А там базы ненужны вовсе. CMS на базах для сайта, где количество обновлений в час сводится к 0 - это самый большой бред который можно видеть. А таких сайтов, по сути, 99%. ИМХО конечно. Есть конечно кучи г... сайтов, которые слеплены на WP и т.д. Куда "скучающие руки" воткнули безтолковые облака тегов, RSS каналы, парсеры, отзывы (!!! когда на сайте 3 калеки в день) и прочее, которое нужно только для самолюбия автора....

Зачем нужны для таких сайтов шаблоны и прочее... Ведь это задача для мухобойки а не для пушки.

Dreammaker
На сайте с 20.04.2006
Offline
569
#8

T.R.O.N, тогда и пхп, или другой динамический язык там не нужен - ибо всё можно ручками в хтмле сделать.

Я базу для динамических сайтов воспринимаю, как удобный интерфейс к хранению и получению данных, а писать свой велосипед я не вижу смысла.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9
Dreammaker:
тогда и пхп, или другой динамический язык там не нужен - ибо всё можно ручками в хтмле сделать.

А разве мало задачь которые можно и нужно решить на банальном SSI ?

Dreammaker:
а писать свой велосипед я не вижу смысла

неужели лучше бродить на чужих костылях?

PS А динамический сайт это какой? Когда одна новость в месяц (в самом лучшем случае) от автора а остальное - собранное парсерами????

Dreammaker
На сайте с 20.04.2006
Offline
569
#10
T.R.O.N:
А разве мало задачь которые можно и нужно решить на банальном SSI ?

Остаётся только вопрос зачем менять шило на мыло. Если проект не такой сложный, то это будет вішеуказанная мною экономия на спичках, а если сложный, то тут уже упрёмся в ограничения SSI. http://sysoev.ru/nginx/docs/http/ngx_http_ssi_module.html Не знаю, насколько здесь актуальна информация для нгинкса, ибо за 2007 год новость, но функционала не так и много. (рассматриваю нгинкс, ибо, имхо, от перевода с апача на нгинкс будет больше выиграша, чем от взаимозамен пхп на SSI и обратно).

T.R.O.N:
а остальное - собранное парсерами????

если собирать в больших объёмах, а потом выводить в зависимости от тематики, дат и тому подобных условий, очень даже костыли здесь подойдут :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий