`


بهینه سازی و افزایش کارایی در PostgreSQL 13 و به کار گیری آن در اودوو ۱۶

اصلی ترین بخش اودوو پایگاه داده آن است که باید به صورت مناسبی تنظیم و بهینه سازی شود. در اینجا نشان می‌دهیم که چطور این کار را انجام دهید.

پایگاه‌های داده‌ای ویراوب‌۱۲۳ و PostgreSQL با مجموعه‌ای از پیکربندی‌های پیش‌فرض طراحی شده‌اند که به خوبی روی سخت‌افزارهایی با اندازه محدود عمل می‌کنند. با سفارشی کردن تنظیمات و پیکربندی برای حجم کاری خاص و محیط سخت افزاری، فضای زیادی برای بهبود وجود دارد. ممکن است تعجب کنید که چقدر می توانید با تنظیم چند پیکربندی پارامتر پایگاه داده، افزایش عملکرد را به دست آورید.

در وبلاگی که اخیراً توسط همکاران ما منتشر شده است، «معیارهای PostgreSQL TPROC-C: PostgreSQL 12 در مقابل PostgreSQL 13 Performance»، هشت برابر بیشتر تراکنش در دقیقه در هر دو نسخه 12.4 و 13.0 PostgreSQL زمانی که به درستی تنظیم شده بود به دست آمد. این کار با استفاده از HammerDB، که یک ابزار تست لود پایگاه داده است و ابزار مناسب برای TPC-C دارد انجام شده است.

توجه به این نکته مهم است که با افزایش تعداد کاربران مجازی، افزایش عملکرد قابل توجه ثابت می ماند.

جدول زیر پارامترهای قابل تنظیم پایگاه داده و تنظیمات مربوطه آنها را که در تست معیار خود استفاده کرده است، فهرست شده است. تمام تنظیمات دیگر در مقادیر پیش فرض باقی ماندند. آزمایش بر روی یک نمونه آمازون m5.metal با نسخه 8.2 لینوکس Red Hat Enterprise با 96 vCPU و حافظه 393216 MiB انجام شد. دایرکتوری داده ها روی هشت دیسک پیکربندی شده در RAID 10 قرار داشت و اندازه دایرکتوری داده ها 2000 گیگابایت بود. شایان ذکر است که اثرات تنظیم بر روی بارهای کاری و سخت افزارهای مختلف متفاوت است و مقادیر انتخاب شده در این مورد مخصوص سخت افزار مورد استفاده برای معیار بود. کاری که انجام دادیم به عنوان یک پیکربندی تنظیم "شروع" در نظر گرفته شد (یعنی پیکربندی که ما به کاربران پیشنهاد می کنیم به عنوان نقطه شروع برای استقرار خود استفاده کنند) برای سرور و حجم کاری خاصی که او انتخاب کرده بود. تنظیم دقیق بیشتر تنظیمات می‌تواند به طور بالقوه عملکرد بالاتری را به همراه داشته باشد.

autovacuum_max_workers

10

autovacuum_vacuum_cost_limit

3000

checkpoint_completion_target

0.9

checkpoint_timeout

'15min'

cpu_tuple_cost

0.03

effective_cache_size

'350GB'

lc_messages

'C'

listen_addresses

'*'

log_filename

'postgresql.log'

logging_collector

on

maintenance_work_mem

'2GB'

max_connections

1700

max_wal_size

'300GB'

pg_stat_statements.save

off

pg_stat_statements.track

all

random_page_cost

1.1

shared_buffers

'100GB'

shared_preload_libraries

'pg_stat_statements'

unix_socket_directories

'/tmp'

wal_buffers

'1GB'

work_mem

'128MB'




بهینه سازی و افزایش کارایی در PostgreSQL 13 و به کار گیری آن در اودوو ۱۶
ویراوب ۱۲۳, مصطفی برمشوری 7 ژانویهٔ 2024
Share this post
برچسب‌ها

 

`


چجوری چهره رو تو فیلم تشخیص بدیم و دورش کادر بندازیم؟
با ویراوب۱۲۳ همراه شوید تا با کمک از کتابخونه opencv در پایتون یک کادر دور صورت در وب‌کم بکشیم.در واقع یک جورایی face detection انجام می‌دهیم.