Олексiй Чечель: подкол засчитан:) На самом деле нужен баланс, что-то можно отдать на рендеринг (например данные прилетели по ajax или websokets и являются не большими), а что-то нет. Что-то кешируется на стороне клиента, а что-то пред-загружается. Это всё от конкретного алгоритма показа конкретного материала зависит. Универсальное решение - тут скорее комплексное с кучей понятных правил.
DevMan : с ростом трафика можно поступить двумя способами:
1. переписывать уже имеющийся фреймворк, докупать железо и ставить дополнительный софт для очередей и кеширования, не желая менять решение
2. выкинуть не эффективный код целиком и таки начать думать о том что коду который пишется суждено работать на стократной нагрузке и по этому там должна быть эффективная модель и алгоритмы, а не то что первое попалось на глаза и красиво.
Дмитрий: вы правы, не только. Однако на Си пишут ровно все кому это важно. Если вам не важно то вы можете писать свой софт на чём угодно. Сейчас Golang отличная альтернатива многим языкам программирования, но я надеюсь, что глупых программистов будет поменьше среди тех кто на него перейдёт, как раз за счёт отличительных особенностей языка которые всем нам так нравятся, а у других вызывают недоумение.
Владимир Грабко: отметки такого рода не конвертируются. Конвертируются только полезные ответы на полезные и сложные вопросы, где можно чему-то научиться.
На самом деле надо просто заниматься профилированием.
xhproof поставить и посмотреть где, что как... и на продакшине тоже. Если продакшин не справляется с включенным мониторингом - значит продакшин в состоянии уже стойкого коллапса нехватки ресурсов.
Вы уже ответили себе на вопрос. 5мб -> 28кб это отличный показатель. Другой вопрос в том нормально ли для вас вообще наличие этого 5мб на старте или нет. Для меня лично нет.
Ага, а меня видимо не поставили раз такой строчки не было.
Я им честно сказал что мне хочется посмотреть и интегрировать в проект который в разработке и на который посмотреть пока в свободном доступе нельзя. Впрочем, доступ к рабочему проекту они так же не просили и про сроки ничего не говорили.
Вам прямо так и написали что месяц на тех.вопросы? Мне просто скинули такой же список уточнив что мне нужно и новых писем пока не было. Как-то тяжело получаются "открытые" API в данном случае.
Александр Таратин: для печати скобок можно печатат скобку {{}, {}}, либо же добавить стоп-символ /}, либо же добавить тег игнора парсинга как в smarty для блока с php (не самый удачный вариант для Golang) вида {ignore}.sdahsdjhfkahdfk dksfjha ksdjhf kajsdh fkajsdhm,,,mnm,.m. {} {}{[][][][][][ {}{][][][] {]{{/ignore}
Кирилл: только вы при этом назвали разработчика go-sql-driver/mysql (или database/sql всё таки?) школьником который ничего не умеет, при этом у репозитария 25 контрибьютеров со всего мира и код написан вполне хорошо. Я читал код и правил по этому так и говорю. Школьник написать такое за пару дней просто с нуля не сможет.
Суть же моего посыла к сюрпризному материалу в том мало кто о таких вещах задумывается пока им в сотый раз не напомнишь.
По поводу SELECT с вопросиком - сам по себе вопрос в селекте не делает его подготовленым, если не указать его в вызове нужной функции
func (db *DB) Prepare(query string) (*Stmt, error)
Это на тот случай если кто-то прочитает и впадёт в заблуждение на сей счёт.
Вообще, момент с пулом коннектов и подготовленными запросами не освещён в документации должным образом, тот кто пришёл из PHP и некоторых других (включая Си) языков могут предположить что соединение там одно. Раз одно вызывается значит одно и есть и в случае чего даже делать свой пул поверх. Либо предположить (а потом не позаботиться проверить), что все подготовленные запросы устанавливаются автоматически на все соединения и движок сам за этим следит (это был бы хороший вариант, но опять таки не очевидный).
Не рассматривали вариант с дописыванием в zip архив? Потому что если структуру с полным перечнем разместить в конце файла, то дописывание новых данных - это уже не такая простая и дешёвая по времени операция, особенно когда файлик blob размеров так гигабайт на 20... Ищу литературу по теме.
Не могли бы поделиться справочной литературе по организации blob хранилищ? А именно есть вопрос где хранить то самое (смещение и размер данных) в большом файле если не использовать базы данных вовсе. Просто если уж переходить на blob то и индекс хочется хранить там же, вопрос как это сделать более грамотно и на основании многолетних экспериментов, а не на коленке.
Буду благодарен за любую литературу по этому вопросу.