Search
Write a publication
Pull to refresh
17
0
Свиблов Михаил @Msviblov

Продюсер/Геймдизайнер

Send message

По результатам нескольких независимых исследований было установлено количественное влияние изменения fillfactor на производительность PostgreSQL при массовых UPDATE операциях.
Ключевые данные по производительности

Влияние на скорость UPDATE операций:

  • Fillfactor 90% (снижение на 10%): улучшение производительности на 17-20%

  • Fillfactor 80% (снижение на 20%): улучшение производительности на 48-50%

  • Fillfactor 70% (снижение на 30%): улучшение производительности на 65%

Performance improvement percentages for different fillfactor values in PostgreSQL UPDATE operations
Performance improvement percentages for different fillfactor values in PostgreSQL UPDATE operations

Влияние на TPS (транзакций в секунду):

  • При fillfactor 100%: 180-200 TPS

  • При fillfactor 90%: 230 TPS (улучшение на 15%)

Влияние на время выполнения UPDATE:

  • Fillfactor 100%: 3.35 секунды

  • Fillfactor 90%: 2.77 секунды (улучшение на 17.3%)

  • Fillfactor 80%: 1.73 секунды (улучшение на 48.4%)

  • Fillfactor 70%: 1.16 секунды (улучшение на 65.4%)

Механизм улучшения производительности

HOT Updates (Heap Only Tuples):
Снижение fillfactor напрямую влияет на возможность выполнения HOT-обновлений:

  • При fillfactor 100%: 0% HOT-обновлений

  • При fillfactor 90%: 32% HOT-обновлений

  • При fillfactor 80%: 73% HOT-обновлений

  • При fillfactor 70%: 100% HOT-обновлений

Relationship between fillfactor, HOT update ratio, and performance improvement in PostgreSQL
Relationship between fillfactor, HOT update ratio, and performance improvement in PostgreSQL

Практические рекомендации

Для снижения fillfactor на 50% (с 100% до 50%):
Основываясь на исследованиях, можно ожидать:

  • Улучшение производительности UPDATE на 50-70%

  • Увеличение потребления места на диске вдвое

  • Снижение производительности SELECT на 20-30% из-за большего количества страниц

Оптимальные значения:

  • Fillfactor 80-90% - наиболее сбалансированный вариант для активно обновляемых таблиц

  • Fillfactor 70% - для таблиц с очень интенсивными UPDATE операциями

  • Fillfactor 50% - только для специальных случаев с экстремальной нагрузкой на обновления

Негативные эффекты снижения fillfactor:

  • Увеличение размера таблицы и индексов

  • Снижение эффективности кэширования (больше страниц в памяти)

  • Замедление операций полного сканирования таблицы

  • Увеличение нагрузки на autovacuum

Когда применять:

  • Таблицы с частыми UPDATE операциями

  • Обновления затрагивают неиндексированные колонки

  • Соотношение UPDATE к SELECT превышает 1:3

Методика тестирования

Для получения точных результатов в вашей среде рекомендуется:

  1. Создать тестовые таблицы с разными значениями fillfactor

  2. Использовать pgbench для имитации реальной нагрузки

  3. Измерять не только время выполнения, но и процент HOT-обновлений

  4. Учитывать влияние на общую производительность системы

Таким образом, снижение fillfactor на 50% может дать прирост производительности UPDATE операций на 50-70%, но за счет значительного увеличения потребления дискового пространства и снижения производительности операций чтения.

Основная теорема терморектального криптоанализа — время, необходимое для дешифрования сообщения не зависит от алгоритма шифрования и длины ключа.
В свое время интересовался этим, когда выводил на рынок браузерку «Пароград»
1. Начинал со stand alone версии, как софтланч. Трафик — с пиара и сарафанного радио.
2. Затем интегрировался в социальные сети. Трафик с каталога и виралки.
3. Затем встал на площадку РБК. Трафик по рефшаре — то есть часть денег, которые платят пользователи идут плащадке, за это она нагоняет людей.
Но в целом надо делать игру, показатели которой позволяют покупать трафик. Только в этом случае игра будет успешной.
В добавок к Вышке могу порекомедовать несколько курсов, которые считаю полезным для фундаментального, если так можно сказать, знания о геймдеве
www.coursera.org/specializations/game-development — Митчеганский институт + Конгрегейт.
www.udemy.com/unitycourse/?dtcode=gH94IE63HgsN — использование Юнити для создания игр
www.udemy.com/how-to-make-20-games-without-coding-and-earn-passive-income — двадцать казуальных игр без опыта в программировании.
Все эти курсы рассчитаны для начинающих, порог входа низкий, да и цена не так кусается.
Хорошая, годная реклама курсов вышки.
На протяжении последних 8 лет работая в игровой индустрии на разных должностях я никому никогда не показывал своего диплома. Не то, что бы его стыжусь — а просто никто не спрашивал. Проводя собеседования на должность геймдиза (а это тоже входит в сферу моих обязанностей) — я и сам ни разу не интересовался дипломом соискателя — дела говорят за себя лучше чем бумажки, и собственный проект или отлично выполненное тестовое для меня значительней любых дипломов.
Как один из людей, купивший вашу игру, и как человек с опытом в игровой индустрии — от себя замечу: кроме уже объявленных причин есть еще одна — попытка скопировать игру «лоб», не адаптируя ее под современные реали. Некоторые механики неплохо работали в изначальной книге — но плохо работают в приложении. Так же в игру перешел весь баланс из книги (который тоже был явно с ошибками). В качестве примера — посмотрите LifeLine, там ряд геймдизайнерских решений, которые сделали игру более «играбельной»
Расскажите про гринлайт — сколько времени в итоге прошло до момента апрува, сколько голосов было, какое соотношение за/против? Спасибо.
Внутренние мемы обычно интересны только внутренней же тусовке, для остальных это звучит глупо и не смешно.
Я думал на Хабре запрещены копипасты.
прошу прощения, ожидал их тут увидеть image
Событие уже через 10 дней, а списка докладов на сайте нет.
Поесть уху с малознакомыми коллегами — это не то, чего ждешь от встречи с разработчиками.
Весь пост ради одной последней ссылки?
Мне кажется это не ответ на мой вопрос.
Зачем на русскоязычном ресурсе давать ссылку на таджикский блог и рекламировать таджикского дистрибьютора?
Казалось бы давно пора понять что такое эффект стрейзанд.
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity