Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 30/01/11 в 18:16 |
iRoot писал: |
Это не выход, это костыль, который не решает проблему, а только создает новые. |
Если бы у человека были ресурсы/желание решать эту проблему по-нормальному, наверное бы и вопросов не возникало. Выправить кривой код - идея сама по себе хорошая, просто обойдется наверняка дороже, чем взял индус
А так, что писать надо изначально не жопой, думаю, все согласны и никто возражать не станет - речь-то о конкретном случае. Я просто прикидываю соотношение, сколько будет оплатить много часов работы программера или полчаса работы админа.
|
|
|
|
С нами с 03.02.09
Сообщения: 139
Рейтинг: 235
|
Добавлено: 30/01/11 в 18:23 |
Я не в первый раз участвую в в спорах на тему что лучше - сделать все правильно или хоть бы как, а кеширование все исправит. Зачастую они ни к чему не приводили, все оставались при своих мнениях, время все расставляло по своим местам.
Индус конечно баклан, но кеширование - это таблетка от головы, после которой начинает болеть жопа.
Да, оно будет работать и будет (внешне) работать отлично, все будут счастливы пока не наступает день, когда hit-rate кеша падает ниже критического уровня, обогие запросы к БД вырабатывают весь IO жесткого диска (SSD не панацея, on-disk temporary tables его приговорят довольно быстро) и происходит "завал производительности" примерно до нуля.
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 30/01/11 в 18:40 |
Ты ведь согласен что любое приложение, даже "сделанное правильно" рано или поздно упрётся в производительность базы/диска/проца, и что-то нужно будет менять. Вот у нас оно уже упёрлось) Даже если сейчас вложить прилично денег и всё зарефакторить, во первых не факт что это вообще даст большой выигрыш в производительности (кода мы не видели и судить не можем), а во вторых не факт что ростом нагрузки на хх процентов всё не вернётся на свои места и не нужно будет опять что-то придумывать (кеш, очередной редизайн базы и т.д)
То что полный и "правильный" редизайн приложения стоит дешевле небольших его правок я ещё раньше сказал что жутко в этом сомневаюсь. Когда такое возможно?
|
|
|
|
С нами с 03.02.09
Сообщения: 139
Рейтинг: 235
|
Добавлено: 30/01/11 в 18:57 |
Оптимизация - это непрерывный процесс, ее стоит производить постоянно, это часть цикла разработки программного обеспечения.
У всего есть вилка производительности. Для реляционной базы данных это, как ни странно, количество добавлений/изменений/удалений записей в секунду, польку этот показатель не масштабируется, только через шардинг, но тогда вся реляционность пропадает и смысл теряется держаться за это решение.
Application-сервера замечательно масштабируются горизонтально, практически линейно, поэтому ни в коем случае нельзя переносить бизнес-логику в БД для веб-приложений. Тут все просто.
Что мы получаем в итоге: вложившись в оптимизацию сложно масштабируемой части приложения мы получаем линейный прирост производительности при добавлении application-серверов, что достаточно дешево.
Поэтому да, такое решение действительно существенно дешевле, оно себя окупает сполна. А дальше уже можно городить кеширование поверх всего этого, но не наоборот.
|
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 30/01/11 в 20:34 |
Покаж запрос к mysql
1. 99% его можно переписать более оптимально
2. В базе индексы есть, тоже если добавить можно ускорить?
tmp_table_size = 512M
max_heap_table_size =512M
|
|
|
|
Гауляйтор Курска
С нами с 08.10.03
Сообщения: 20852
Рейтинг: 473
|
Добавлено: 30/01/11 в 20:43 |
JM писал: | Покаж запрос к mysql
1. 99% его можно переписать более оптимально
2. В базе индексы есть, тоже если добавить можно ускорить?
tmp_table_size = 512M
max_heap_table_size =512M |
нету.. это я сразу заметил. И потом там еще несколько order by которые создают темп таблицы..
а так вроде обыкновеные селект. завтра на другом сервере попробую. тут наверно еще дествительно железо слабое.
|
|
VIP билеты на "Огонёк" и приватный вечер с Филипом Киркоровым.
|
-1
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 30/01/11 в 20:50 |
тупо в пхпадмине добавь индексы для тех полей что в после where и ордер бай... увидиш сразу разницу думаю ;) без нового железа и т.п. ;)
|
|
|
|
С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506
|
Добавлено: 31/01/11 в 00:04 |
помнится у меня проблема решилась после установки кеширования squid перед апачем.
на сайте было очень много страниц, но они все были статичными. при этом mysql был довольно оптимизирован, но запросы все равно долго работали.
squid в общем-то отлично решил проблему.
переделывать код обычно намного сложнее чем поставить squid. другое дело что у сквида свои заморочки бывают, надо хорошо все тестить.
|
|
|
|