Menü
Bedava
giriş
ana  /  internet / 1C ve pencerelere postgres kurulumu. PostgreSQL yükleyin

1C ve pencerelere postgres kurulumu. PostgreSQL yükleyin

Varsayılan olarak, PostgreSQL, çok üretken olmayan sunucularda 4 GB'a kadar küçük veritabanlarıyla çalışmak için minimum miktarda kaynak harcayacağı yapılandırılmıştır. Yani, eğer durum sistemlere daha ciddi şekilde dokunarsa, ancak yalnızca varsayılan ayarların kuzey ekipmanınızın performansıyla eşleşmeyeceği için büyük veritabanı performansı kaybıyla karşılaşacaksınız. Kaynak Tahsisi Ayarları rasgele erişim belleği RAM çalışmak için postgresql dosyada saklandı postgresql.conf..

PostgreSQL / Veri'nin kurulduğu klasörden ve PGAdmin'den temin edilebilir:

Genel olarak, ilk aşamada, zorluklar ve veritabanının çalışmasında yavaşlama durumunda, kullanıcıların gözü için üç parametreyi artırmak yeterlidir:

shared_Buffers.

Bu, aktif işlemlerin gerçekleştirilmesinden sorumlu olan PostgreSQL işlemleri arasında bölünmüş bir bellek boyutudur. Bu parametrenin izin verilen maksimum değeri, toplam ramın% 25'indedir.

Örneğin, sunucudaki 1-2 GB RAM'de, bu parametreyi 64-128 MB (8192-16384) olarak belirtmek için yeterlidir.

temp_Buffers.

Bu, geçici nesneler için tamponun boyutudur (geçici tablolar). Toplam ramın% 2-4'ünün ortalama değeri

Örneğin, sunucudaki 1-2 GB RAM'de, bu parametrede 32-64 MB değerinde belirtmek yeterlidir.

work_mem.

Bu, tabloları sıralamak ve önbelleğe almak için kullanılan bir bellek boyutudur.

Yeni değerlerin yürürlüğe girmesi için, hizmet yeniden başlatılacak, bu yüzden çalışma zamanının dışına yapmak daha iyidir.

İki tane daha Önemli parametreler Bu, bakım_work_mem (vakum için, dizin oluşturun ve diğer) ve max_stack_depth

Optimum ayar örnekleri:

  • CPU: E3-1240 V3 @ 3.40GHz
  • RAM: 32GB 1600MHz
  • Diskler: Plextor M6Pro

postgresql.conf:

  • shared_Buffers \u003d 8GB.
  • work_mem \u003d 128mb.
  • bakım_work_mem \u003d 2GB.
  • fsync \u003d on.
  • synchronous_commit \u003d kapalı.
  • wal_sync_method \u003d fdatasync.
  • checkpoint_segments \u003d 64.
  • sEQ_PAGE_COST \u003d 1.0.
  • random_page_cost \u003d 6.0.
  • cpu_tuple_cost \u003d 0.01.
  • cpu_index_tuple_cost \u003d 0.0005
  • cpu_perator_cost \u003d 0.0025
  • effect_cache_size \u003d 24gb.

Faydalı Sorgular:

BD Kullanıcılar tarafından Engelleme

Tüm tabloları, 10 MB'dan fazla görüntüleyin


PG_Tables'ten
'SQL_%' ve PG_SIZE_PRETTY (PG_TOTAL_RELATION_SIZE (PG_TOTAL_RELATION_SIZE)) '% MB%' gibi;

PostgreSQL veritabanında tablo boyutlarının tanımı

SQL SELECT SELECT PADSECAME KODU, PG_SIZE_PRETTY (PG_TOTAL_RELATION_SIZE (CAST (Metin A. Tableame)))
PG_Tables'ten
Tablenamın 'SQL_%' gibi değil
Boyutuna göre sipariş;

Belirli bir tabloyu engelleyen kullanıcılar

Kod SQL SELECT A.USENAME, T.RELNAME, A.Current_Query, PG_LOCK'lardan M modu L İçe katılın PG_STAT_Activity A'da A.PROCPID \u003d L.PID içsel birleştirin pg_stat_all_tables t üzerinde t.relid \u003d l.relation t.relname \u003d 'tablename '; Kod SQL Select İlişkisi :: REGCLASS, MODE, A.USENAME, verilen, PG_LOCK'lardan PID L İÇROM PG_STAT_ACTICTICTION A A.PROCPID \u003d L.PID NEREDE NEREDE \u003d 'AccessSharelock' ve ilişki boş değildir;

Özel Kilitlerle İstekler

Kod SQL Seçin A.Usename, A.Current_Query, PG_LOCKS L INNQUERY'DAN MOD PG_STAT_ACTICTION AÇIK A.PROCPID \u003d L.PID, "% ÖZCİ% ';

Kullanıcıların Kilit Sayısı

Kod SQL AUSENAME, PG_LOCKS L'DEN SONRA (L.PID) SEÇİN (L.PID) PG_STAT_Activity A'da A.PROCPID \u003d L.PID (MODE \u003d 'AccessSharelock') Group A.USename;

Kullanıcıların Bağlantısı Sayısı

Kod SQL SELECT COUNT (USENAME), PG_STAT_ACTITIVY GROUP'DAN KULLANICISI USENAME SİPARİŞTİR (Usename) DESC;

1C dosya veritabanının boyutu: Müşterilerimizden birinin kuruluşu 32GB (evet, 32GB), sonuç olarak, her şey yavaş yavaş yavaşlamaya başladı ve sonra sıkıca düştü, müşterilerimizin çözmemizi istedi. bu sorun. SSD Enterprise Sınıfı, hapı kısaca tatlandırılmış, ancak bir süre sonra her şey başlangıç \u200b\u200bnoktasına döndü. Burada, burada, burada ve büyükanneye gitmiyor - veritabanının SQL versiyonuna gidin.

Biz beri " windows kullanıcılarıDBMS için tek iki seçenek bizim için mevcuttur - bu MSSQL ve PostgreSQL. Birincisi delilik için iyidir, ancak maliyet lütfen. Ve artık MSSQL ile çalışmak için ek 1C lisanslar hakkındaki haberlerden haberdar değil. Bu nedenle, PostgreSQL.

Video üzerinden ayrıntılı talimatlar. Bu yazıda, anahtar noktalardan geçeceğiz.

1C veritabanlarını yedeklemeyi unutmayın!

İlk veri:

  • İŞLETİM SİSTEMİ. Windows Server 2008R2,
  • Intel çekirdek I7-2600K 3.40GHz,
  • 32GB RAM,
  • Intel SSD DC3700 100GB (yalnızca veritabanının altında, ayrı bir SSD'deki işletim sistemi),
  • günlük veritabanındaki 10 ila 20 kullanıcı arasında,
  • arka planda dağıtılmış veritabanlarının 5 düğümü ile değişim.

Uğursuz, değil mi? Hadi devam edelim.

1. PostgreSQL ve PGADMIN'i yükleyin.

PostgreSQL nasıl indirileceğine dair hiçbir vahiy yok favori site olmayacak https://reases.1c.ru, "Teknolojik dağılımlar" bölümümüz. İndir, koy. Microsoft Visual C ++ 2010 Çalışma Zamanı Kütüphaneleri, bir arşive olan bir arşive olan servis paketi 1 ile yüklemeyi unutmayın. Onlar üzerine düştüler: yüklemediler, çok fazla acı test ettiler.

Bir veritabanı kümesini başlatın (onay işareti). Ve burada PostgreSQL için hesap ayarlarını belirtirsiniz! ÖNEMLİ: Servisi çalıştırmanız gerekir "İKİNCİL OTURUM AÇMA" (veya yerelleştirilmiş işletim sisteminde: "Sistemin ikincil girişi"). UTF8 kodlaması da önemlidir!

bu montajdaki pgadmin oluyor. Https://www.postgresql.org/ftp/pgadmin3/release/ adresine gidiyoruz. Makaleyi yazma sırasında taze versiyonu 1.22.1. Salıncak, koy. İçeri gel.

Kurulum sürecinde "Sunucular 1C Kurumsal Yönetimi" Durmayalım. Bu tamamen farklı bir konudur. Evet, orada zor bir şey yok.

Bu yapışmada bir SQL veritabanı oluşturun, PGADMIN'de kontrol edin - Her şey doğruysa, veritabanı orada görünecektir.

2. Tuning PostgreSQL 9.4.2.

  • pg_hba.conf.
  • postgresql.conf.
  • pgpass.conf.

hangi burada yalan söylüyor:

C: \\ Program Dosyaları \\ PostgreSQL \\ 9.4.2-1.1C \\ Veri

En az bir harfte karıştırılırsanız, PostgreSQL yapılandırmasını güncelleştirdikten sonra, başlamayın. Sebebinin ne kadar zor olacağını öğrenin, hatta windows günlükleri. Bu nedenle, hemen birçok parametreyi değiştirmeyin ve yedeklemeler yapın.

Konfigürasyonu orada düzenlemek için rahat bir araçDoğrudan ana pgadmin penceresinden temin edilebilir. İşte burada:

Burada değiştiğimiz şey:

  • shared_Buffers. - Sayfaların ortak bir sayfası için PGSQL tarafından tahsis edilen bellek sayısı. Bu hafıza tüm PGSQL işlemleri arasında bölünmüştür. Mevcut RAM'i 4'e böleriz. Bizim durumumuzda, 8GB'dir.
  • efural_Cache_Size - Montaj önbellek boyutu dosya sistemi. İnanılıyor: RAM - shared_Buffers. Bizim durumumuzda, 32GB - 8GB \u003d 24GB'dir. Ancak şahsen, bu parametreyi daha da düşük bırakıyorum, bir yerde 20 GB'lık bir yerde, yalnızca PostgreSQL için değil RAM tarafından gerekliydi.
  • random_page_cost. RAID için 1.5 - 2.0, SSD için 1.1 - 1.3. Rastgele sayfayı okuma maliyeti (varsayılan olarak 4). Daha az arama zamanı disk sistemi, daha küçük (ancak\u003e 1.0) bu parametre olmalıdır. Aşırı olarak, parametre, tüm tabloyu taramak için planların seçimine yaslanmış PGSQL'i artırır (PGSQL, tüm tabloyu rastgele indeksten daha ucuza daha ucuza daha ucuz olduğuna inanıyor). Ve bu kötü.
  • temp_Buffers. \u003d 256MB. Geçici tablolar için maksimum sayfa sayısı. Yani, bu, her oturumdaki zaman tablolarının büyüklüğünün üst sınırıdır.
  • work_mem. - RAM / 32..64 olarak kabul edilir - bizim durumumuzda 1GB ortaya çıkar. Bir isteği işleme için hafıza limiti. Bu hafıza her oturum için bireydir. Teorik olarak, belleğin maksimum ihtiyacı Max_Connections'a eşittir * Work_Mem, pratikte gerçekleşmez, çünkü oturumların çoğu neredeyse her zaman beklentisiyle takılmaktadır.
  • bgwrite_delay. - 20ms. Diskteki kayıt döngüleri arasında uyku süresi arka plan süreci Girdileri. Bu süreç Shared_Buffers'ta bulunan sayfaları bir diskle senkronize etmekten sorumludur. Bu parametrenin çok fazla değeri, kontrol noktası işlemindeki yükte bir artışa neden olur ve servis oturumlarına (arka uç) işler. Küçük bir değer, çekirdeklerden birinin tam yükünü alır.
  • synchronous_Commit. - kapalı. TEHLİKELİ! Taahhüt sırasında diskle senkronizasyonu devre dışı bırakın. En son birden fazla işlemi kaybetme riski oluşturur (0.5-1 saniye içinde), ancak veritabanının bütünlüğünü garanti eder, taahhüt zincirinde garanti edilen görevler vardır. Ancak verimliliği önemli ölçüde arttırır.

Bu, internetten ve https://its.1c.ru hakkındaki makalelerden öğrenmeyi başaran her şey değildir. FAKAT! Bu ayarlar bile, 1C'yi hızlandırmak için yeterlidir: PostgreSQL şirketinde Kurumsal.

Şöyle beton durum PostgreSQL'e geçtikten sonra, kullanıcılar 1C'nin dosya sürümünden daha güçlü yavaşlamaya başladığından şikayet etmeye başladı. Ancak bundan sonra "uçtu" tabanını ayarladıktan sonra. Şimdi herkes hızlı işten hoşlanıyor. Ancak, kilitler şeklinde eksi de var. Bu konuda durmayı planlamıyoruz, daha fazla kazacağız ve buradaki PostgreSQL yapılandırmasında faydalı değişiklikler yükleyeceğiz.

PostgreSQL, dünyadaki oldukça modern ve popüler bir DBM'dir. Operasyon için desteklenen DBM'lerden biri olarak seçerek 1c civarında gitmedi. PostgreSQL için kurulum talimatlarını ve Windows altındaki ilk 8.3'ü düşünün.

PostgreSQL - Ücretsiz ProgramBu, bu DBMS'yi seçmek için belirleyici faktörlerden biridir.

Sunucuyu yüklemek için, iki arşiv (X86-64) ve PostgreSQL dağılımına ihtiyacımız olacak. Örneğimizde, Platform Sürümü 8.3.4 ve DBMS 9.1.2. 1C - disk veya sitesinin resmi kaynaklarından almak daha iyidirler.

İşletmenin ilk işi 8.3 (veya 8.2). Bunu yapmak için, Setup.exe dosyasını arşivden başlatın. Kurulum, bazı özellikler haricinde, istemci uygulamasının normal kurulumundan çok farklı değildir:

1. Bileşenlerde istenen öğeleri seçmeyi unutmayın:

2. Belirtiniz, başvuru kimin adından başlatılacaktır. Yeni bir kullanıcı "USR1CV8" oluşturmanız önerilir. Bu kullanıcının doğru haklara sahip olması gerekir:

Ücretsiz 1C için 267 video eğitimi alın:

Kurulumdan sonra, Bölüm 1C DBMS ile ilerleyebilir.

PostgreSQL yükleyin

PostgreSQL-9.1.2-1.1C (x64) .msi dosyasını çalıştırın windows klasörü İşletim sisteminin boşalmasına bağlı olarak 64 veya 86 bir alt klasör seçin. Neredeyse her şeyi varsayılan olarak bırakabilirsiniz. Aşağıdaki noktalara dikkat etmek gerekir:

1. Tıpkı 1C 8.3 ile olduğu gibi, DBMS hizmet olarak kurulur. Kullanılan kullanıcının haklarını kontrol etmeniz gerekir. Varsayılan sistem, adın başlatılacağı yeni bir kullanıcı oluşturur:

2. 1C kümesini ayarlama. Burada kullanıcı için bir şifre belirlemelisiniz:

Bu öğeyi yürütmek için, ikincil oturum açma hizmeti (ikincil oturum açma) başlatılmalıdır. Çalışmıyorsa, tüm hizmetler listesinde başlatılmalıdır:

Postgri başına 1C taban oluşturma

Bir üs oluşturma çok basit bir işlemdir. Veritabanı listesinde, "Ekle" yi tıklamanız gerekir, öğeyi seçin "Yeni Oluşturma bilgi tabanı", Veritabanının adını belirtin ve konum seçeneğini seçin -" Sunucu 1c: İşletmelerde ", ekran görüntüsünde belirtilen ayarları doldurmanız:

Parolanın ve kullanıcı adının Küme Kurulumu Fazında belirttiğiniz kişiler olduğu yerlerdir.

Hepsi bu - sistemle çalışabilirsiniz.

Kurulum talimatları PostgreSQL 9.0.3-3.1C Windows Server 2008 X64'te

Yüklemek için, paketi kullanın - PostgreSQL 9.0.3-1C (x 86 veya x 64).

MSI paketini çalıştırın:

"Verilerine sahip dizin", PSQL ve PGADMIN III'ün "dizinini" belirlediyse onay işaretini kutlarız. Daha ileri.

"Servis olarak" yükleyin. Çalışmak için bu hizmet özel bir kullanıcı gerektirecektir. Göstermek hesap, Etki alanı (varsa) ve şifre. Daha ileri.

Sistemde böyle bir kullanıcı yoksa, usta yeni bir tane oluşturmayı önerecektir. "Evet" cevabını veriyoruz - kullanıcı oluşturuldu. Daha ileri.

Şimdi veritabanını başlat. Port 5432'yi belirtin. UTF 8 kodlamasının postgreSQL kullanıcı girişi ve şifresiyle ayarlandığını kontrol ediyoruz (sistem kullanıcı şifresini ve PostgreSQL kullanıcı şifresinin eşleşmemesi gerektiğini uyarıyor). 1C Sunucu Kümesi ve PostgreSQL Açıksa farklı makineler, sonra bir kene koymak "Herhangi bir IP bağlantılarını koru, sadece localhost ile değil." Daha ileri.

Bir hata oluşabilir " İKİNCİL OTURUM AÇMA ". Sonra "İdare" ye gidiyoruz - "Hizmetler". "İkincil Giriş" veya "İkincil Oturum Aç" hizmetini başlatın:


Program ayarlandı.

"Başlat" menüsünden - "Tüm Programlar" "Pgadmin III" Yönetim Yardımcı Programını çalıştırın.

Sunucuya bağlanın. "Postgres" kullanıcısı için şifreyi giriyoruz. Bağlanmayı başarırsanız, 1c'nin kendisi ile yeni bir temel oluşturmaya çalışın.

Müşteri Bölüm 1C'yi çalıştırın. "Ekle" düğmesine tıklayın, 1C sunucu sunucusunu ayarlayın. Sonra, aşağıdakileri doldurun: Veritabanı Sunucusu (IP veya DNS, o sunucunun adı, burada postgresql) - eğer 1C küme ile aynı ise, 127.0.0.1'i belirtin. Veritabanı adı: [Yine de]. Kullanıcı: "Postgres" şifresi: [your_pall_postgres]. Daha ileri.

Temel 1C'nin başarıyla oluşturulduğunu kontrol ediyoruz.

Meclis'i postgres profesyonelinden kuracağız. 1C sürüm sayfasında: Kurumsal Centos 7 Taze versiyonu PostgreSQL hakkında kurulum bilgilerini bulun.

Depoyu bağlayın ve PostgreSQL 9.6'yı yükleyin:

Sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm sudo yum makecache sudo yum yüklemek PostgreSQL-Pro-1C-9.6

PostgreSQL Temel Kurulum

Hizmet Veritabanlarını Rus Yerelleştirme ile Başlatın:

Su postgres / usr/pgsql-9.6/bin/initdb -d /var/lib/pgsql/9.6/Data --Locale \u003d ru_ru.utf-8 Çıkış servisi PostgreSQL-9.6 initdb

PostgreSQL çalıştırın ve otomatik olarak ekleyin:

SystemCtl PostgreSQL-9.6 SystemCtl'i Etkinleştir PostgreSQL-9.6 SystemCtl Durumu PostgreSQL-9.6

Sunucuya uzaktan bağlanabilmek için Postgres kullanıcısının şifresini belirleriz:

Su - Postgress PSQL Alter kullanıcı postgres worpassword; \\ Q çıkış.

Mcedit /var/lib/pgsql/9.6/data/pg_hba.conf.

açılan dosyada, dize bağırıyoruz ve değiştiriyoruz:

tümünü hepsini barındırdı 127.0.0.1/32 kimlik üzerinde tüm tüm 127.0.0.1/32 md5'e ev sahipliği yapın

tüm tüm 0.0.0.0/0 kimliğini ana bilgisayarlar üzerinde hepsi Hepsi 0.0.0.0/0 MD5

1C için PostgreSQL Ayarlar Optimizasyonu (PostgreSQL.CONF): Kurumsal

İşte çalışan postgresql için ayarlar olacak sanal makine ESXI 6.5.

VM için ayrılan kaynaklar:

İşlemci - 8 VCPU;

bellek - 48 GB;

sAS HDD'den LUN Donanım RAID1'de OS - 50 GB için disk;

veritabanı için Disk - SSD Yazılımında 170 GB RAID1

günlükler için Disk - SSD'den RAID1 Yazılımında 100 GB

Ayarları düzenlemek için komutu yürütün:

Mcedit /var/lib/pgsql/9.6/data/postgresql.conf.

Etkinleştirilmesi gereken yorumlanmış parametreler.

İşlemci

autovacuum_max_workers \u003d 4.

autovacuum_max_workers \u003d ncores / 4..2 ama 4'ten az değil

AutowAcum işlemlerinin sayısı. Genel kural - Daha fazla yazma isteği, daha fazla işlem. Salt okunur veritabanında aynı işlemden yeterli.

sSL \u003d KAPALI.

Şifrelemeyi kapatma. Korunan CDMS için şifreleme anlamsızdır, ancak CPU yüklemesinde bir artışa yol açar.

Hafıza

shared_Buffers \u003d 12GB.

shared_Buffers \u003d ram / 4

Tepeli bir sayfa için PGSQL tahsis edilen bellek sayısı. Bu hafıza tüm PGSQL işlemleri arasında bölünmüştür. İşletim sistemi Kendisi verileri önbelleğe alır, bu yüzden tüm nakit operasyonel hafızayı önbellekte yönlendirmeye gerek yoktur.

temp_Buffers \u003d 256MB.

Geçici tablolar için maksimum sayfa sayısı. Şunlar. Bu, her oturumdaki zaman tablolarının büyüklüğünün üst sınırıdır.

work_mem \u003d 64mb.

work_mem \u003d ram / 32..64 veya 32mb..128mb

Bir isteği işleme için hafıza limiti. Bu hafıza her oturum için bireydir. Teorik olarak, belleğin maksimum ihtiyacı Max_Connections'a eşittir * Work_Mem, pratikte gerçekleşmez, çünkü oturumların çoğu neredeyse her zaman beklentisiyle takılmaktadır. Bu öneri değeri bir iyileştirici tarafından kullanılır: istek için gerekli belleğin boyutunu tahmin etmeye çalışıyor ve bu değer Work_Mem'den daha büyükse, çalışmanın derhal geçici bir tablo oluşturduğunu belirtir. Work_Mem tam anlamda sınırlı değildir: Optimizer ayrıca özleyebilir ve istek belki de daha fazla bellek alacaktır. Bu değer, oluşturulan geçici dosyaların sayısını takip ederek azaltılabilir:

bakım_work_mem \u003d 2GB.

bakım_work_mem \u003d ram / 16..32 veya work_mem * 4 veya 256MB..4GB

İstatistiklerin (analiz), çöp grubu (vakum), dizinler oluşturma ve harici tuşlar eklenmesi gibi görevler için hafıza limiti. Bu işlemler altında tahsis edilen hafızanın boyutu ile karşılaştırılmalıdır. fiziksel boyut Diskteki en büyük endeks.

effect_cache_size \u003d 36gb.

effect_cache_size \u003d ram - Shared_Buffers

Önbellek dosya sisteminin boyutunun değerlendirilmesi. Parametrede bir artış, sistemin DizinScan planlarını seçme eğilimini arttırır. Ve bu iyi.

Diskler

effect_io_concurrency \u003d 5.

Aynı anda hizmet edebileceği disk sistemine eşzamanlı isteklerin tahmini değeri. RAID - 2 veya daha fazla için tek bir disk \u003d 1 için.

random_page_cost \u003d 1.3

random_Page_Cost \u003d RAID için 1.5-2.0, SSD için 1.1-1.3

Rastgele sayfayı okuma maliyeti (varsayılan olarak 4). Daha az arama zamanı disk sistemi, daha küçük (ancak\u003e 1.0) bu parametre olmalıdır. Aşırı olarak, parametre, tüm tabloyu taramak için planların seçimine yaslanmış PGSQL'i artırır (PGSQL, tüm tabloyu rastgele indeksten daha ucuza daha ucuza daha ucuz olduğuna inanıyor). Ve bu kötü.

autoVaUMUM \u003d AÇIK.

Avtovakuuma'yı açma.

autovacuum_naptime \u003d 20s.

Avtovakuum sürecinin uyku zamanı. Çok fazla değer, tabloların buharlaşacak vakti olmayacağı gerçeğine yol açacak ve sonuç olarak, şişirin büyüyeceği ve tabloların ve dizinlerin boyutunu büyütecektir. Küçük değer işe yaramaz ısınmaya yol açacaktır.

bgwriter_delay \u003d 20ms.

Kayıt döngüleri arasında disk arka plan işlemine uyku süresi. Bu işlem, Shared_Buffers'ta bulunan sayfaları bir diskle senkronize etmekten sorumludur. Bu parametrenin çok fazla değeri, kontrol noktası işlemindeki yükte bir artışa neden olur ve servis oturumlarına (arka uç) işler. Küçük bir değer, çekirdeklerden birinin tam yükünü alır.

bgwriter_lru_multiplier \u003d 4.0.

bgwriter_lru_maxpages \u003d 400.

Kayıt işlemi kayıt işleminin yoğunluğunu kontrol eden parametreler. Bir bgwriter döngüsü için, BGWRITER_LRU_MULTIPIER tarafından çarpılan, ancak BGWRITER_LRU_MAXPAGES'den daha fazla olmayan son bir döngü için yazıldığından daha fazla yazar.

synchronous_commit \u003d kapalı.

Taahhüt sırasında diskle senkronizasyonu devre dışı bırakın. En son birden fazla işlemi kaybetme riski oluşturur (0.5-1 saniye içinde), ancak veritabanının bütünlüğünü garanti eder, taahhüt zincirinde garanti edilen görevler vardır. Ancak verimliliği önemli ölçüde arttırır.

wal_keep_segments \u003d 256.

wal_keep_segments \u003d 32..256

Kontrol noktası arasındaki maksimum wal segment sayısı. Çok sık kontrol noktası, disk altsisteminde yazılı olarak önemli bir yüke yol açar. Her segmentin 16 MB boyutunda

wal_buffers \u003d. 16 MB.

Diskte henüz kaydedilmemiş, WAL verilerini tamponlamak için kullanılacak paylaşılan hafızanın miktarı. -1'e eşit varsayılan değer, 1/32'ye (yaklaşık% 3) (yaklaşık% 3), ancak 64 KB'den az ve bir Wal segmentinin (genellikle 16 MB) boyutundan daha fazla ayarlar. Bu değer, seçilen seçilen otomatik olarak çok az veya büyükse manuel olarak ayarlanabilir, ancak herhangi bir pozitif sayı 32 KB'den azdır. 32 KB olarak algılanacaktır. Bu parametre yalnızca sunucu başlatıldığında ayarlanabilir.

Wal tamponların içeriği, her işlemi sabitlerken diske yazılır, böylece çok büyük değerlerin önemli yararları getirmesi muhtemel değildir. Bununla birlikte, en az birkaç megabaytın değeri, birden fazla istemciye derhal işlemleri kaydettiğinde, yüklü bir sunucuya kaydederken hızı artırabilir. Otomatik ayarlama, varsayılan değer için geçerli (-1), çoğu durumda makul değerleri seçer.

default_statistics_target \u003d 1000.

Hedef varsayılan istatistikleri ayarlar, bireysel kısıtlamaların ALTER TABLOSU SET İSTATİSTİK komutu tarafından belirtilmediği sütunlara yayılır. Ayarlanan değer ne kadar büyükse, analiz yapmak için ne kadar uzun olur, ancak zamanlayıcının tahminlerinin kalitesi ne kadar yüksek olur. Bu varsayılan parametrenin değeri 100'dür.

checkpoint_completion_target \u003d 0.9.

"Katlama" derecesi kontrol noktası dosyası. Kontrol noktası sırasında kayıt hızı, kontrol noktası zamanının geçmişten geçen süreye eşit olması, CHECKPINE_COCTPLEST_ hedefi ile çarpılması için düzenlenir.

min_wal_size \u003d 4g.
max_wal_size \u003d 8g

min_wal_size \u003d 512mb .. 4g
Max_wal_size \u003d 2 * min_wal_size

Minimum ve maksimum miktarda WAL dosyası. Checkpoint_segments benzeri sanatçılar

fsync \u003d on.

Parametrenin kapanması, performansta bir artışa yol açar, ancak tüm verileri ani güçle kaybetme riski vardır. Dikkat: RAID bir önbelleğe sahipse ve yazma modunda olsaydı, Kesha RAID denetleyici bataryasının kullanılabilirliğini ve işlevselliğini kontrol edin! Aksi takdirde, Güç kapatıldığında, RAID önbelleğinde kaydedilen veriler kaybolabilir ve sonuç olarak, PGSQL veri bütünlüğünü garanti etmez.

row_security \u003d kapalı.

Kayıt seviyesi çözünürlük kontrolünü devre dışı bırak

enable_nestlooop \u003d kapalı.

Yuvalanmış döngülerle bağlantı kurma planlarının kullanımını içerir veya devre dışı bırakma. İç içe geçmiş döngüleri tamamen dışlamak imkansızdır, ancak bu parametreyi kapattığınızda, planlayıcının kullanmayacağı bu methodBaşkalarını uygulayabilirseniz. Varsayılan olarak, bu parametre açıktır.

Kilit

max_locks_per_transaction \u003d 256.

Bir işlemde maksimum dizin kilit / tablo sayısı

1C platform için ayarlar

standart_ConForming_Strings \u003d Kapalı.

Koruyucu için Symbol \\ kullanımına izin ver

escape_string_warning \u003d kapalı.

Koruyucu için bir sembolün kullanımı hakkında bir uyarı vermeyin

Güvenlik Kurulumu

POSTGRESQL sunucusunun yalnızca sunucu 1C için görünür olması için yapacağız: aynı makineye kurulu bir kuruluştur.

dinle_Adresses \u003d 'Localhost'

Sunucu 1c: Şirket başka bir makineye yüklenirse veya Pgadmin Snap'ı kullanarak DBMS sunucusuna bağlanmak için bağlanma ihtiyacı vardır. localhost. bu makinenin adresini belirtmeniz gerekir.

Depolama veritabanı

Neredeyse herhangi bir DBMS gibi PostgreSQL, disk alt sistemi için kritiktir, bu nedenle DBMS, PostgreSQL sisteminin, günlükleri ve veritabanlarının kendilerini farklı disklere hızını artırmak için kritiktir.

Sunucuyu başlat

SYSTEMCTL STOP POSTGRESQL-9.6

120 GB SSD'de Transfer Günlükleri:

Mv /var/lib/pgsql/9.6/data/pg_xlog / raid120 mv /var/lib/pgsql/9.6/data/pg_clog / raid120 mv /var/lib/pgsql/9.6/Data/PG_LOG / RAID120

LN -S / RAID120 / PG_XLOG /VAR/LIB/PGSQL/9.6/DATA/PG_XLOG LN -S / RAID120 / PG_CLOG / VAR/LIB/PGSQL/9.6/DATA/PG_CLOG LN -S / RAID120 / PG_LOG / VAR / LIB / PGSQL / 9.6 / DATA / PG_LOG

Ayrıca kataloğu veritabanlarıyla aktarın:

Mv /var/lib/pgsql/9.6/Data/Base / RAID200

LN -S / RAID200 / BASE /VAR/LIB/PGSQL/9.6/DATE/BASE

sunucuyu başlatın ve durumunu kontrol edin

SYSTEMCTL BAŞLAT POSTGRESQL-9.6 SYSTEMCTL Durumu PostgreSQL-9.6