internet pencereler Android
Genişletmek

PostgreSQL'de 1C platformunu güncelle. PostgreSQL yükleyin

En kısa sürede dosya tabanı Veri 1C: Müşterilerimizden birinin şirketi 32GB'da (evet, 32GB), aşağıdaki gibi, her şey yavaş yavaş yavaşlamaya başladı ve daha sonra sıkıca durdu, müşterilerimiz bu sorunu çözmemizi istedi. 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.

Windows kullanıcıları kullandığımızdan, yalnızca DBMS için iki seçenek kullanılabilir - bu MSSQL ve PostgreSQL'dir. 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. Neyin zorluğuna neden olduğunu öğrenmek için, hatta Windows günlüklerine bile bakıyorlar. Bu nedenle, hemen birçok parametreyi değiştirmeyin ve yedeklemeler yapın.

Yapılandırmayı düzenlemek için, doğrudan ana PGAdmin penceresinden uygun bir araç vardır. İş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ı büyük önem Parametre, tüm tabloyu taramalı planların seçimine yaslanmış PGSQL'i arttırır (PGSQL, tüm tabloyu rastgele indeksten daha tutarlı bir şekilde okumak 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. Kayıt döngüleri arasında disk arka plan işlemine uyku süresi. 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. Düşük değer yol açacak tam dolu Çekirdeklerden biri.
  • 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.

Bu özel durumda, PostgreSQL'e geçtikten sonra, kullanıcılar 1C'nin dosya sürümünden daha fazla yavaşlamaya başladığından şikayet etmeye başladı. Ancak bundan sonra "uçtu" tabanını ayarladıktan sonra. Şimdi herkes zevk alıyor hızlı iş. 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.

1 Kas 2012 Serbestçe dağıtılmış kullanım avantajları yazılım açık. Ne yazık ki, eksiklikler açıktır - hayır resmi destek, genellikle belgeler çelişkili, eksik ve farklı kaynaklar tarafından dağınıktır. Bu makale, "1C: Enterprise 8" için POSGRESQL kurulum süreci ile başa çıkmaya yardımcı olacak, resmi belgelerde tarif edilmeyen tuzaklardan kaçınarak.

Kurulum için gerekli bileşenler

PostgreSQL DBMS ücretsiz olarak dağıtılır ve "1C" uygulama sunucusunun teslimatına dahil edilir. Uygulama Sunucusu "1c: Enterprise 8" iki versiyonda gelir: 32 bit ve 64-bit. Postgre her ikisiyle de çalışabilir.

Yani, elinizde dağılımlarımız var:

  • Postgre: PostgreSQL-9_1_2-1_1CX64.ZIP, 1C nezaket.
  • Windows X64, sürüm 8.2.16.368 için Uygulama Sunucusu "1C: Kurumsal" dağıtımı.

Daha kolay - çalıştırılması ve kurulması gibi görünüyor. Kolayca! Ancak standart moddaki kurulum bir küçük limit verecektir: Küme "Program Dosyaları" klasöründe yatar. Herkes sevmiyor. İki kurulum seçeneğini basit ve gelişmiş olarak düşünün.

Makale 5 bölüme ayrılmıştır:

1) 1C sunucuyu yükleme.

2) PostgreSQL'i standart formda ek ayarlar olmadan 1C'yi başlatmak için yeterlidir.

3) PostgreSQL'i bir küme depolama klasörü seçeneğiyle yükleyin.

4) Yeni Oluşturma bilgi tabanı 1c.

5) DBMS sunucusunda veritabanı dosyası depolama klasörünü belirleme.

Yüklemeden önce, tüm makalenin tamamını okuduğunuzdan emin olun!

Uygulama Sunucusu 1C'yi Yükleme

Setup.exe'yi 1C sunucu dağıtım klasöründen çalıştırın.

Uygulama sunucusunu bir hizmet olarak değiştirmeniz durumunda, her seferinde el ile çalıştırmanız gerekir. Bu seçenek nadiren gereklidir. Kullanıcının hangi kullanıcının başlatılacağı altında bir hizmet (hizmet) olarak kurulur ve çözeriz. Güvenlik nedeniyle, oluşturmak daha iyidir ayrı kullanıcı USR1CV82 ve hizmetin tam haklar altında çalışmasına izin vermeyin.

Uygulama sunucusunu yükledikten sonra, sistem HASP koruma anahtar sürücüsünü kurmayı önerecektir. Katılıyorum:

Mesajı bekliyoruz:

Mesaj farklıysa, sistem, muhtemelen önceki HASP sürücülerinin ayarlarından "kuyruklar" kaldı. Hepsini kaldırın ve tekrar deneyin.

Hazır, Uygulama Sunucusu "1c: Enterprise 8" başarıyla taktık.

Ek Ayarlar olmadan 1C'yi başlatmak için POSTGRESQL'i standart formda yükleyin.

Koşmak "PostgreSQL-9.1.2-1.1C (x64) .msi"

Kurulum seçenekleri değiştirilemez, 1C çalışacaktır. Daha ileri.

1C sunucu gibi postgre, hizmete başlayacak bir kullanıcı oluşturabilir. Dikkatinizi belirtirseniz dikkatinizi çekiyorum hesap Yönetici haklarıyla hizmet doğru çalışmayacak. Yeni bir kullanıcı oluşturduğunuzdan emin olun.

Sonraki kurulum penceresi.

Kümeyi başlat. Bir veritabanı sunucumuz varsa ve 1C uygulama sunucusu varsa farklı bilgisayarlar, sonra bir kene "herhangi bir IP'den günlüğe kaydetme" yüklersiniz, aksi takdirde dokunmayın. UTF8 kodlamasını belirttiğinizden emin olun. Superuser DBMS oluşturun. Daha ileri…

İlk iş için, herhangi bir ek ihtiyacımız yok, bir kene al, kurulumu tamamla.

Çabalarımızın sonucu PostgreSQL çalışmaya hazırdır. Bazların Program Dosyaları \\ PostgreSQL \\ 9.1.2-1.1C \\ Data'da yatacağından memnun kalırsak, üzerinde bitiririz, bazları ortaya çıkarır ve sürecin tadını çıkarın. Bununla birlikte, daha sık hala veritabanları, sistem diskinde değil, bu disk dizileri için özel olarak amaçlanan "" yalan söylüyor ". Verilerin konumunu yapılandırmak için, yüklemeden önce bir sonraki bölümü okuyun.

Küme Depolama Seçimi ile Postgre Kurulum

Postgre kurulumuna devam ediyoruz ve kümeyi başlatması önerilene kadar tüm adımları uyguluyoruz:

"Bir veritabanı kümesini başlat" kutusunu çıkarın ve "İleri" ye tıklayın.

Evet elbette.

"Yığın oluşturucuyu çalıştırmak için" onay kutusunu kaldırın ve kurulumu tamamlayın.

1. POSTGRESQL'i yüklediğimiz klasöre tam haklar vermeniz gerekir, genellikle bu C: \\ Program Dosyaları \\ PostgreSQL

2. Yönetici hakları kapsamında CMD'yi çalıştırıyoruz. Win7'de yapıyorsanız, yöneticiden çalıştırın.

3. Kümenin depolandığı bir klasör oluşturun. Örneğin D: \\ postgredata.

mD D: \\ Postgredata

4. Küme tarafından yapıldığı yolu manuel olarak başlattık.

"C: \\ Program Dosyaları \\ PostgreSQL \\ 9.1.2-1.1C \\ Bin \\ initdb.exe" -d D: \\ Postgredata --Locale \u003d russian_russia - sencoding \u003d utf8 -u Postgres

5. Kurulum sırasında yüklenmiş olan PostgreSQL dosyasını silin.

sC Sil PGSQL-9.1.2-1.1C-X64

PGSQL-9.1.2-1.1.C-X64'ün hizmetin adıdır. Eğer adını kesin olarak tanımıyorsanız, "PostgreSQL veritabanı sunucusu ..." hizmetinin özelliklerini görebilirsiniz (Başlat - Denetim Masası - Yönetim - Hizmetler)

6. Oluştur yeni hizmet kümeimizi belirten

"C: \\ Program Dosyaları \\ PostgreSQL \\ 9.1.2-1.1C \\ Bin \\ PG_CTL" KAYIT -N PGSQL -U PostgreSQL -P Şifre -D D: / Postgredata

7. Şimdi servise gidin. Başlangıç \u200b\u200b- Kontrol Paneli - İdare - Servis ve hizmetimize başlayın.

PostgreSQL ile sunucuda yeni bir 1C veritabanı oluşturma

Bir veritabanı oluşturmak için çeşitli seçenekler vardır. PGADMIN3, 1C Sunucu Yönetim Konsolu ile bir veritabanı oluşturmayı deneyebilirsiniz. Ancak burada anlaşılmaz bir soru kütlesi ve bir sürü hatayla karşılaşacaksınız, uzun zamandır arayacağınız cevaplar. Uzmanlar için bırakın. Görevimiz, minimum çabayla uygulanabilir bir üs elde etmektir. Bunu başarmanın en kolay yolunu açıklayalım.

1C müşteriyi başlatıyoruz.

"Ekle ..." düğmesine tıklayın.

Temel adıyla geldik, "Sunucu 1C: İşletmelerde" belirttik.

1C Sunucu Kümesi: İşletmeler - localhost, eğer 1C sunucunun kurulduğu bilgisayarda bir veritabanı oluşturursak veya diğer tarafta ise uygulama sunucusunun 1C adını oluşturursak.

Kümedeki bilgi tabanının adı - Gelecekte, bu isim diğer bilgisayarlardan bağlandığında belirtilecektir.

DBMS Tipi - PostgreSQL'yi seçin.

Veritabanı sunucusu - ismi belirtin postgresql sunucuları. Sunucuda bir veritabanı oluşturursanız, yerelhostu da belirleyin.

Veri tabanı ismi - Böyle bir isimle, taban PostgreSQL'de oluşturulacaktır.

Kullanıcı şifresi - PostgreSQL'i yüklerken bir süper kullanıcı olarak belirttiğimiz kullanıcının adı. Bir kene yükselttiğinizden emin olun "yokluğu durumunda bir veritabanı oluşturun."

Soru ortaya çıkıyor - ve taban fiziksel olarak nerede tutulacak? Belirtilen kümenin temel klasöründe. Ve eğer orada yalan söylemesini istemiyorsak, tüm bazlar nerede yatıyor? Burada hiçbir şey yapacak bir şey yok, sadece bir üs oluşturun ve devam edin. Daha ileri…

Veritabanı depolama klasörünü belirtin

Yani, üssü yarattık. Çoğu durumda, bu kurulum sona erer. Ancak, çok fazla baz varsa ve birkaç disk dizisi varsa farklı gruplar Bazlar, tabanın fiziksel olarak nerede olacağını belirtmeniz gerekir. Bunu yapmak için, PGADMIN3'ü başlangıç \u200b\u200b- Programlar - PostgreSQL olarak çalıştırın. Sunucumuza bağlanın.

İlk önce postgre bağlandığınızda, postgres kullanıcısının şifresini sorar (kurulum sırasında oluşturduk).

Yeni bir tablo alanı oluşturun, veritabanlarımızın depolandığı klasör olacaktır.

Taban dosyalarının depolanmasının yerini belirtti. TAMAM MI.

Şimdi, daha önce oluşturulan veritabanının özelliklerini, değiştirmeyi istediğimiz yerleşimi açın.

TabloSpace özelliğini değiştirin. "Tamam" ı tıkladıktan sonra, veritabanı dosyaları otomatik olarak taşınır. Hazır! Makalenin sizin için yararlı olduğunu umuyoruz. Eğer öyleyse - yorum yap, bu sayfaya linkleri paylaş. Teşekkür ederim!

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.

Windows kullanıcıları kullandığımızdan, yalnızca DBMS için iki seçenek kullanılabilir - bu MSSQL ve PostgreSQL'dir. 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ı unutma!

İlk veri:

  • İŞLETİM SİSTEMİ. Windows Server 2008R2,
  • Intel çekirdek i7-2600k. 3.40Ghz,
  • 32GB. Veri deposu
  • İntel SSD DC3700. 100GB (yalnızca veritabanının altında, OS ayrı bir SSD'de),
  • 10 ila 20 arasında Günlük veritabanındaki kullanıcılar,
  • 5 ile değişim. düğümler Arka planda dağıtılmış veritabanı.

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). Ama burada parametrelere soruyoruz postgreSQL için hesap!Ö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ı - Bu da önemlidir!


bu montajdaki pgadmin oluyor. Https://www.postgresql.org/ftp/pgadmin3/release/ adresine gidiyoruz. Makaleyi yazarak en son 1.22.1 sürümü. 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. Neyin zorluğuna neden olduğunu öğrenmek için, hatta Windows günlüklerine bile bakıyorlar. Bu nedenle, hemen birçok parametreyi değiştirmeyin ve yedeklemeler yapın.

Yapılandırmayı düzenlemek için, doğrudan ana PGAdmin penceresinden uygun bir araç vardır. İş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.
  • effect_cache_size - Dosya sistemi önbelleğinin boyutunun değerlendirilmesi. İnanılıyor: RAM - shared_Buffers. Bizim durumumuzda, 32GB - 8GB \u003d 24GB'dir. Ama şahsen, bu parametreyi daha da altten bırakıyorum, 20 gb bir yerlerde - Yine de, RAM sadece PostgreSQL için değil.
  • 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ü.
  • temp_Buffers. = 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. - İnanılmaktadır: RAM / 32..64 - bizim durumumuzda ortaya çıktı 1GB.. 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. 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.
  • 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.

Bu özel durumda, PostgreSQL'e geçtikten sonra, kullanıcılar 1C'nin dosya sürümünden daha fazla 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.

Bazı problemler veritabanıyla ortaya çıkıyorsa, belki de size yardımcı olacaktır.

Sorularım var?

Bir şeyler yanlış gitti? Şirketimizin uzmanları, ortaya çıkan sorunlarla başa çıkmanıza yardımcı olacaktır! İletişim! →

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. Hesabı, etki alanını (varsa) ve şifreyi belirtin. 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). Farklı makinelerde 1c sunucu kümesi ve postgreSQL ise, bir kene koyun "Herhangi bir IP'den bağlantıları 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, oluşturmaya çalışalım yeni taban 1c'nin kendisi anlamına gelir.

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.

Belirtilen ayarların altında bir Panacea değil, mevcut olan gerçek kapasiteyle ayarlanmalıdır. Gerçek kullanıcı sayısı ve yoğunluğu (yazılı) giriş bilgisi.Ayarlar, sistem de önemlidir?

Hangi işletim sistemi kurulumu:

İşlemci

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

AutowAcum işlemlerinin sayısı. Genel kural, daha fazla süreç, daha fazla yazma istekleridir. 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 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 sisteminin kendisi verileri önbelleğe alır, bu nedenle tüm nakit işlem hafızasını önbelleğe 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 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 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, diskteki en büyük endeksin fiziksel boyutuyla karşılaştırılabilir olmalıdır.

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 2 (yalnızca Linux sistemleri için, Windows için geçerli değildir)

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 RAID için 1.5-2.0, 1.1-1.3 için SSD, NVME için 0.1

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ü.

SEQ_PAGE_COST \u003d 0.1 NVME DISKS AUTOVAUMUUM \u003d ON

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 Chebgwriter_lru_maxpages'dan daha fazla değil, son döngüde kaydedildiğinden daha fazla kaydeder.

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.

Checkpoint_segments \u003d 32..256.< 9.5

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

Checkpoint_completion_target \u003d 0.5..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 512mb .. 4g\u003e \u003d 9.5 max_wal_size \u003d 2 * min_wal_size\u003e \u003d 9.5

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ı, önbellek pilinin varlığını ve işlevselliğini kontrol edin. RAID denetleyicisiK! Aksi takdirde, Güç kapatıldığında, RAID önbelleğinde kaydedilen veriler kaybolabilir ve sonuç olarak, PGSQL veri bütünlüğünü garanti etmez.

Commit_delay \u003d 1000.

wAL tasarrufunu yapmadan önce (mikrosaniye) duraklatma

Taahhüt_siblings \u003d 5.

Aynı zamanda, taahhüt_delay gecikmesinin ekleneceği açık işlemlerde asgari sayı

Grup birden fazla işlemi taahhüt eder. İşlem hızı 1000 TPS'yi aşarsa, anlam ifade eder. Aksi takdirde, etkinin etkisi yoktur.

Temp_tablespaces \u003d "name_of_tablespace"

Geçici tablolar / dizinler için disk alanı. Geçici tabloları / dizinleri ayrı disklerde yerleştirmek, verimliliği artırabilir. Önceden, tabloSpace komutu oluşturmanız gerekir. Disklerin özellikleri ana disklerden farklı ise, komut karşılık gelen Random_Page_ maliyetini belirtmelidir. Santimetre. .

rOW_Security \u003d OFF\u003e \u003d 9.5

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

Max_files_per_process \u003d 1000 (varsayılan)

En yüksek miktar dosyaları aç Bir postresql işlemi için. Bir dosya en azından endeks veya tablodır, ancak tablo / birkaç dosyadan oluşabilir. PostgreSQL bu sınırda durursa, performansı etkileyebilecek dosyaları açmaya / kapatmaya başlar. Linux altında LSOF komutunu kullanarak sorunu teşhis edebilirsiniz.

Max_Connections \u003d 500..1000

Eşzamanlı Bağlantılar / Oturum Sayısı
100'den fazla kullanıcınız varsa, bu parametre için kullanıcı numarasına göre manuel olarak değerlendirmek daha iyidir.

Windows'ta Tipik Sorun

DBMS Hatası: Sunucuya veri gönderilemedi: mevcut arabellek alanı yok (0x00002747 / 10055)

Operasyonel kullanırken windows SistemleriMaksimum standart TCP bağlantı noktası sayısı 5000'dir. Numaraları 5000'i aşan bağlantı noktalarından bir TCP bağlantısı kurmaya çalıştığınızda, bir hata mesajı verilir. Başka bir deyişle, kayıt defterindeki mevcut bağlantı noktaları sayısını, parametreleri seçmek için (HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ TCPIP \\ Parametreler) ve eklemeniz gerekir. sonraki parametre Kayıt Maxuserport.türü ile: DWORD.ve anlam: 65534 (Geçerli değerler: 5000-65534)

Kilit

max_locks_per_transaction \u003d 256.

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

1C platform için ayarlar

Standard_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

Shared_preload_librurseys \u003d "Online_analyze, Plantuner"

sunucu başlangıcında indirilecek çeşitli paylaşılan kütüphaneler
İçinde belirtilen kütüphane bulunamadıysa, sunucu başlamaz
Parametrenin ayarlanması Linux için daha fazla değere sahiptir, ancak pencereler de yapmalı

Çevrimiçi_analyze modülü, hedef tablolardaki işlemlere ekle, güncelleme, silme veya seçme istatistiklerini hemen güncelleyen bir fonksiyon sunar.
Plantuner modülü, sorguyu yürütürken belirli dizinleri devre dışı bırakmak veya bağlamak için bir zamanlayıcı için talimatlar için destek ekler.

Online_nalyze.enable \u003d on.

1C'de sık kullanılan geçici masa istatistikleri

Optimizer

default_statistics_target \u003d 1000 -10000

(Optimizer istatistiklerini iyileştirme)

Enable_nestlooop \u003d kapalı, enable_mergejoin \u003d kapalı

(Optimizer parametrelerini değiştirme)
● Bağlantı planlarının kullanımının iç içe döngülerle kullanımını içerir veya çıkarır.
● Füzyon bağlantı planlarının kullanımını içerir veya devre dışı bırakır.
Örneğin, bellek hataları dışında

Join_collapse_limit \u003d 1.

(Tabloların bağlantılarını anlarken bağlantı kesilmesi!)
● 1'e eşit bir değerle, birleştirme önerileri yeniden düzenlenmez, bu nedenle sorgu sırasına açıkça belirtilmiştir.
Bileşikler, ilişkilerin bağlanacağı gerçek sırayı belirler.
Optimizer'yu etkileyen diğer ayarlar

From_collapse_limit \u003d 20.

● Belirtir en yüksek miktar Listedeki öğeler, zamanlayıcının açık birleştirme tasarımlarını yıkacağından önce (tam bir katılım hariç). Daha küçük değerlerde, planlama süresi azalır, ancak istek planı daha az etkili olabilir.
● SEQ_PAGE_COST \u003d 0.1 random_page_cost \u003d 0.4 cpu_operator_cost \u003d 0.00025

Online_nalyze.table_type \u003d "Tüm"

(Daha fazla yük)
Acil analizin yapıldığı tablo türleri: Hepsi (tümü), kalıcı (kalıcı), geçici (geçici), hiçbiri (hayır).

Online_nalyze.threshold \u003d 50.

● Asgari kontur sayısı değişir, sonra hemen bir ani analiz başlayabilir (bu parametre autovacuum_analyze_thheshold'a benzer).

Online_nalyze.scale_factor \u003d 0.1.

Acil analizin başladığı tablo boyutunun yüzdesi (bu parametre AutoVaUtuum_Nalyze_scale_factor'a benzer).

Online_nalyze.min_interval \u003d 10000.

● Ayrı bir tablo için zorluklar arasındaki minimum zaman aralığı (milisaniye cinsinden).

Online_nalyze.local_tracking \u003d kapalı.

● Inline_Nalyze, servis işleminde geçici tabloları izleme. Bu değişken devre dışı bırakıldığında (Kapalı), Online_Analyze, geçici tablolar için varsayılan sistem istatistiklerini kullanır.

Online_analyze.verbose \u003d "OFF"

● Ayrıntılı çevrimiçi_nalyze uzatma mesajlarını devre dışı bırakır

Plantuner.fix_empty_table \u003d "ON"

● Plantuner, dosyada herhangi bir blok içermeyen bir tablodaki sayfa / tuples sayısını sıfırlayacaktır.