title

text

Александр Коротков
Александр Коротков Postgres Professional Руководитель разработки
: декабря
45 мин

Узкие места PostgreSQL #2

В прошлом году я сделал доклад про неожиданные узкие места PostgreSQL, которые могут застать пользователя (или администратора) врасплох. Обратная связь была очень положительной, а за год накопился новый материал. Поэтому я решил сделать продолжение сериала и разобрать новые ситуации, когда база неожиданно для всех встаёт колом. В этот раз упор будет на машины с большим числом ядер, но не только.

Слайды

Видео

Другие доклады

  • Shawn Kim
    Shawn Kim Apposha CEO
    45 мин

    Make Your PostgreSQL 10x Faster on Cloud in Minutes

    Cloud storage has some unique characteristics compared to traditional storage mainly because it is virtualized and controlled by software. One example is that AWS EBS shows higher throughput with larger I/O size up to 256 KiB without hurting latency. Hence, a user can get only about 4 MiB/sec with 1,000 IOPS EBS volume if the I/O request size is 4 KiB, whereas a user can get about 250 MiB/sec if the I/O request size is 256 KiB. This is because EBS consumes one I/O in a given IOPS budget for every I/O request regardless of the I/O size (up to 256 KiB). Unfortunately, PostgreSQL cannot exploit the full potential of cloud storage because PostgreSQL has designed without considering the unique characteristics of cloud storage.

    In this talk, I will introduce the AppOS extension that improves the throughput of a write-intensive workload by 10x by transparently making PostgreSQL cloud storage-native. AppOS works like a storage driver that efficiently exploits the characteristics of cloud storage, such as I/O size dependency to storage throughput and latency, atomic write support in cloud block storage, and fast, but non-durable local SSDs. To do this, AppOS comprises a Linux-compatible file I/O stack including virtual file system, page cache, block I/O layer, cloud storage driver. On top of the file I/O stack, syscall module supports registering pre- and post-handler for file I/O-related system calls in order to transparently work without modifying PostgreSQL codes.

    I will focus on presenting key use cases and performance results of the AppOS extension after explaining the internals. Specifically, I will show the performance results of OLTP and some batch workloads using standard benchmarking tools like pgbench and sysbench. I will also present performance results and implications on multiple clouds including AWS, GCP, and Azure.

  • Андрей Сальников
    Андрей Сальников Data Egret DBA
    45 мин

    Поиск плохих запросов

    Работа с запросами и их оптимизация, это бесконечное приключение для разработчиков, работающих с базами данных. Часто под прицел попадают большие и долго выполняющиеся запросы, но что делать если таких запросов нет в вашем приложении? Как найти те самые запросы что портят взаимодействие между backend частью приложения и базой данных? Какие инструменты мы для этого используем? Обо всем этом будет рассказано в докладе.

  • Pavel Stehule
    Pavel Stehule freelancer Независимый консультант и разработчик
    90 мин

    The possibilities of profiling plpgsql code - available tools

    I like stored procedures - it is great technology. But like any other technologies it allows to write not well optimized code. It is not easy to write optimized code, sql statements in complex large applications. On second hand, there are some tools, that can be used very easily, that can help. Postgres has built-in tracking functions possibility. There are PLProfiler and plpgsql_check. With these tools is easy work to detect slow part of applications.With this knowledge, the fix of performance issue is less magic.

  • Григорий Смолкин
    Григорий Смолкин Postgres Professional инженер по эксплуатации
    90 мин

    Резервное копирование с помощью pg_probackup

    pg_probackup - гибкий инструмент, позволяющий подобрать стратегию резервного копирования, исходя из характера пишущей нагрузки кластера PostgreSQL, и обладающий рядом других "фич", призванных облегчить и упростить этот жизненно важный аспект обслуживания БД. В нашем мастер-классе мы рассмотрим этот инструмент на практике.