Menü
Bedava
kayıt
ev  /  ÜZERİNDE/ İşletmenin 1c sunucusuna ihtiyacımız var. Çözümler

İşletmenin 1c sunucusuna ihtiyacımız var. Çözümler

Bugüne kadar, 1C finansal ürünü, dünya "canavarları" SAP R / 3 ve Microsoft Dynamics AX ile rekabet ettiğini iddia ederek, neredeyse her tür işletmenin muhasebesi ve bakımı için geniş formatlı bir komplekse muhasebe için bir muhasebe yazılımı uygulamasından büyüdü. (Axapta).

Rus şirketleri, modern konfigürasyonları kullanarak iş süreçlerini giderek daha fazla organize ediyor 1C 8.3 "Ticaret Yönetimi", "Üretim Yönetimi", "ERP Kurumsal Yönetimi" ve benzerleri. Muhasebe, pazarlama, üretim, satış departmanları 1C'ye aktarılmış, IP-telefon ve iş akış sistemleri ile entegrasyon gerçekleştirilmektedir. Bununla birlikte, "1C'de çalışalım" soruları ortaya çıktıktan hemen sonra - merkezi 1C tabanı hangi kaynaklarda çalışacak, hangi "donanım" makul bir bütçe için en uygun sonucu gösterecek? Bu durumda kamu sektörünün devleri için daha kolay - çok sayıda tam zamanlı BT entegratörü ve mimarına net bir komut verildi, “anahtar teslimi” bir konsept sağlama zorunluluğu ile büyük bütçeli ihale mekanizmaları başladı ve sertifikalı uzmanlar tarafından sistemin daha fazla desteklenmesi. Peki, bütçeyi akıllıca harcayarak 1C: Enterprise ürünlerinden birini satın almak ve kurmak isteyen şirketler ne olacak?

En temel hata, korsan veya doğrulanmamış yazılım kullanımını hesaba katmazsanız, 1C için donanımdan tasarruf etmektir. Bu eğilimler özellikle yeni kurulan şirketlerde ve küçük şirketlerde yaygındır. Intel Xeon işlemcilerle pahalı sunucu ekipmanı satın almanın gerekli olmadığı, RAM miktarını, CPU üzerindeki yükü ve disk alt sistemini önceden hesaplamaya gerek olmadığı, artıklık oluşturmaya gerek olmadığı görüşü var. disk dizileri (Raid), Önbellek-RAM vb. ile profesyonel disk denetleyicileri kullanın. 1C için BT mimarisinin hesaplamalarındaki hatalar, şirketin iş süreçlerini durdurduktan sonra öğrendiği üzücü sonuçlara yol açar. Bu nedenle, 1C için sunucu platformunun her bir donanım düğümüne dikkat etmek çok önemlidir.

1C için BT mimarisinin yanlış yapılandırılmasından kaynaklanan tipik sorunlara örnekler:
  • Temel kaynaklardaki (genellikle RAM veya disk alt sistemi) aşırı yük nedeniyle taban ve 1C arayüzlerinin "yavaşlaması".
  • Yanlış seçilen ekipmanın kararsızlığı nedeniyle 1C programının hataları ve "çökmeleri".
  • Merkezi donanımın arızalanması nedeniyle şirketin kapalı kalma süresi.
  • Donanım bileşenlerinin veya yazılımın rastgele arızaları nedeniyle 1C verilerinin kısmen veya tamamen kaybı.

1C sunucu donanım kaynakları

1C için kendi başınıza bir sunucu oluşturduğunuzda, seçimindeki bir hata tüm kurumsal otomasyon projesini mahvedebilecek en önemli donanım kaynaklarını aşağıda düşünün.

Merkezi İşlem Birimi (CPU)

Fiziksel CPU çekirdeği sayısı. CPU frekansı veya çok çekirdekli daha önemli olan 1C'deki her türlü forumda sonsuz anlaşmazlıklar konusu. Bu çelişkilerin kökleri 1C 8.0 ve hatta 1C 7.7'ye kadar uzanır. Gerçekten de, önceki sürümlerin 1C yürütülebilir süreçleri tamamen tek çekirdekliydi, yani. merkezi işlemcinin sağladığı çekirdek sayısı ne olursa olsun - 1C 8.0 kurumsal sunucu hizmeti veya 1C 7.7 kalın istemci, işletim sisteminde her zaman yalnızca bir "sıfır" çekirdeği işgal etti. Bugün resim değişti - işletim sistemi, bir 1C: Kurumsal sürecin (rphost) görevlerini birkaç CPU çekirdeğine cesurca dağıtıyor (bkz. Şekil 1).




Şekil 1 - 1C sunucu işlemleri sırasında CPU yükü.


Ancak bu, maksimum sayıda çekirdeğe sahip bir işlemci satın alırsanız, bir DBMS (çoğunlukla, bir DBMS, MS SQL anlamına gelir) ile eşleştirilmiş bir 1C sunucusunun harika performans göstereceği ve 1C'de muhasebe dönemlerinin yeniden yazılacağı anlamına gelmez. birkaç dakika meselesi. Bir işlemi gerçekleştirme hızı ile büyük miktarda bilginin aynı anda işlenmesi süreci arasındaki farkı anlamanız gerekir. Fiziksel çekirdek sayısı, 1C: Enterprise sunucusu ve DBMS tarafından birçok farklı görevle eşzamanlı çalışmanın kararlılığı ve performansı sorununu çözmenize izin verir. Dolayısıyla sonuç - 1C kullanıcısı sayısı ne kadar fazla olursa, aynı kullanıcıların rahat eşzamanlı çalışması için gereken çekirdek sayısı o kadar fazla rol oynayacaktır. Kullanıcı sayısının 1C sunucusu için çekirdek sayısına bağımlılığı Tablo 1'de gösterilmektedir.


1C: Enterprise sunucusundaki eşzamanlı kullanıcı sayısı İşlemci tipi ve modeli Kullanılan çekirdek sayısı
10 kullanıcıya kadar 3.1Ghz'den Özel Intel Core 2-4'ten fazla değil
20 kullanıcıya kadar 2.4 Ghz'den Intel Xeon Sunucusu 4 ila 6
30 kullanıcıya kadar 2.6 Ghz'den Intel Xeon Sunucusu 6 ila 8 çekirdek
50 kullanıcıya kadar 2,4 Ghz'den Intel Xeon Sunucusu - 2 parça miktarında Her işlemci için 4

Tablo 1 - 1C sunucusundaki kullanıcı sayısının ve önerilen CPU çekirdeği sayısının oranı.


CPU frekansı.Çekirdek sayısının aksine, merkezi işlemcinin frekansı, 1C'nin son kullanıcıları için en popüler kriter olan bir işin bir parçasının tek seferde işlem hızını tam olarak etkiler. İşlemci frekansı, bireysel bir kullanıcı için 1C sunucusu ve DBMS tarafından işleme isteklerinin hızının artacağı ve sistemin son kullanıcıya nihai sonucu sağlayacağı sürenin artacağı bir artışla tam olarak parametredir. azalmak. Bunu onaylayan tanınmış uzman Gilev, makalelerinden birinde, pratik testlere dayanarak, açık bir sonuca vardı - "1C'nin hızı, merkezi işlemcinin frekansından diğer parametrelerinden çok daha fazla etkilenir. , ister 1C son istemcisi, ister 1C: Enterprise sunucusu olsun." Bu, 1C programının mimarisidir.

Önbellek, sanallaştırma ve hiper iş parçacığı. Geçmişte, çok çekirdekli işlemciler henüz bu kadar yaygın değilken Intel, "hyper-threading" adı verilen çok çekirdeği taklit eden özel bir CPU teknolojisi ile ortaya çıkmıştı. Etkinleştirildiğinde, bir fiziksel işlemci (bir fiziksel çekirdek), işletim sistemi tarafından iki ayrı işlemci (iki mantıksal çekirdek) olarak tanımlanır. 1C sunucusu için hiper iş parçacığını devre dışı bırakmanızı öneririz. Bu teknoloji, 1C'nin çalışmasına herhangi bir hız kazandırmaz.

1C: Enterprise sunucusu ve DBMS için sanal makineler kullanırken, sanal makine çekirdeklerinin aynı - "çekirdekler" olarak adlandırılsalar da, gerçek fiziksel çekirdeklerden "daha zayıf" olduğunu hesaba katmanız gerekir. Kesin resmi katsayılar yoktur, ancak Microsoft teknik portallarındaki makaleler, sanal bir makinede fiziksel çekirdek başına 4-6 işlemci çekirdeği sayılmasını önerir.

Önbellek, işlemci tarafından bilgisayar belleğine ortalama erişim süresini azaltmak için kullanılan önbellektir. Aslında, aynı kalıp üzerinde yer aldığı ve işlevsel blokların bir parçası olduğu için işlemcinin ayrılmaz bir parçasıdır. Burada her şey çok açık - önbellek boyutu ne kadar büyükse, işlemcinin işleyebileceği bilgi "parçaları" o kadar büyük olur. Genellikle önbelleğin boyutu işlemci modeline bağlıdır - model ne kadar pahalıysa, genellikle o kadar fazla önbellek vardır. Ancak, işlemci önbelleğinin boyutunun 1C sunucusunun ve DBMS'nin performansını önemli ölçüde etkilediğine inanmıyoruz. Daha ziyade, "ince ayar" alanını ifade eder.

İşlemci türü. Herkes donanımın sunucu ve kullanıcı olarak ayrıldığını bilir. Bazı durumlarda, profesyonel ancak pahalı bir sunucu CPU'suna alternatif olarak ucuz bir özel CPU kullanmak mümkün müdür? Anlaşıldı - yapabilirsin. Intel merkezi işlemcilerin iki çeşidinin ana parametrelerini karşılaştıran bir tablo düşünelim (bkz. tablo 2).

Özel Intel® Core ™ i7-6700T İşlemci (8M Önbellek, 3.60 GHz'e kadar) Sunucu Intel® Xeon® İşlemci E5-2680 v2 (25M Önbellek, 2.80 GHz)
Ön bellek 8 MB 25 MB
Sistem veri yolu frekansı 8 GT/s DMI3 8 GT / sn QPI
Komut seti 64-bit SSE4.1 / 4.2, AVX 2.0 64 bit AVX 2.0
Çekirdek sayısı 4 10
CPU temel saat hızı 2.8 GHz 2.8 GHz
Maks. RAM miktarı ve türü 64 GB ECC olmayan 768 GB ECC
Tahmini maliyeti 354$ 1 280$

Tablo 2 - Intel'den bir ev ve sunucu CPU'sunun ana parametrelerinin karşılaştırması.


Gördüğümüz gibi, sunucu işlemci çekirdek sayısı, önbellek miktarı, daha fazla RAM desteği ve elbette daha yüksek bir fiyata çok daha yüksek değerlere sahip. Bununla birlikte, sunucu CPU'su, belirli işlemci komutlarını (talimatlarını) ve saat frekansında destekleme konusunda pratik olarak kullanıcı CPU'sundan farklı değildir. Bu nedenle, küçük kuruluşlar için 1C: Enterprise sunucusu için özel bir CPU kullanmanın oldukça kabul edilebilir olduğu sonucuna varabiliriz. Tek soru, özel bir işlemcinin bir sunucu ana kartındaki bir yuvaya kurulamaması ve eşlik denetimli sunucu RAM'ini (ECC) desteklemesidir ve özel bileşenlerin kullanılması, tüm sistemin bir bütün olarak kararlılık risklerini beraberinde getirir.

Rastgele erişim belleği (RAM)

RAM tipi. RAM (RAM) çubuğu, amacına göre farklılık gösterir - çok kullanıcılı sunucu sistemleri veya kişisel cihazlar için - PC'ler, dizüstü bilgisayarlar, nettop'lar, ince istemciler vb. CPU durumunda olduğu gibi - RAM modüllerinin ana parametreleri kabaca eşdeğerdir - modern PC RAM, bir çubuk miktarında veya saat frekansında veya DDR türünde pratik olarak sunucu RAM'inin gerisinde kalmaz modüller. Donanım platformunun kullanımında ve amacında sunucu RAM'i ve "ev" RAM'i arasındaki farklar - bu nedenle daha yüksek maliyeti oluşur:

  • Sunucu RAM'inde ECC paritesi (Hata Düzeltme Kodu) vardır - bilgi işlemedeki hataları doğrudan RAM modülü tarafından düzeltmenize izin veren bir kodlama / kod çözme tekniği
  • Sunucu anakartında, RAM modüllerini kurmak için normal bir PC'den çok daha fazla konektör bulunur
  • Sunucu RAM'i, veri arabelleğe alma (kısmi Kayıtlı veya tam Tam Tamponlu) sağlayan kayıtlar (arabellekler) içerir, böylece birçok eşzamanlı istekle bellek denetleyicisi üzerindeki yükü azaltır. Arabelleğe alınmış FB-DIMM'ler arabelleğe alınmamışlarla uyumlu değildir.
  • Kayıt bellek modülleri ayrıca artırılmış bellek ölçeklenebilirliğine izin verir - kayıtların varlığı, bir kanala daha fazla modül kurmayı mümkün kılar.

Sunucu RAM modüllerinin kullanılmasının, tek bir sisteme büyük miktarda RAM yüklemeyi mümkün kıldığı ve ECC eşlik kontrol teknikleri ve arabelleklerin kullanılması, sunucu işletim sisteminin kararlı ve hızlı çalışmasına izin verdiği sonucuna varabiliriz.

RAM miktarı. 1C sunucusunun ve DBMS'nin yüksek performansı için önemli faktörlerden biri yeterli miktarda RAM'dir. Tabii ki, gerçek RAM ihtiyaçları birçok faktöre bağlıdır - 1C konfigürasyonunun türü, 1C: Kurumsal sunucu işlemlerinin sayısı, DBMS veritabanının boyutu vb. Ancak, kullanıcı sayısına RAM miktarının yaklaşık bağımlılığını çıkarabilirsiniz (bkz. Tablo 3).


Sunucu 1c ve DBMS için RAM ihtiyacı 10 kullanıcıya kadar 20 kullanıcıya kadar 30 kullanıcıya kadar 50 kullanıcıya kadar
Sunucu 1c: Kurumsal 4-6 GB 6-8 GB 12-14 GB 18-24 GB
MS SQL Sunucusu 4-6 GB 8-10 GB 16-18 GB 24-28 GB

Tablo 3 - 1C sunucusunun kullanıcı sayısının ve 1C: Enterprise sunucusunun ve MS SQL sunucusunun işlemleri için önerilen RAM'in yaklaşık oranı.


1C sunucusunun işlemleriyle ilgili olarak: Enterprise (rphost.exe) - modern 1C platformları, 1C sunucu işlemlerinin sayısını manuel olarak belirlemeye izin vermez. Bunun yerine sistem, bilgi tabanlarının sayısı ve rphost.exe işlemi başına kullanıcı sayısı gibi parametrelerin ayarlanmasını gerektirir ve ardından optimum 1C: Enterprise sunucu işlemi sayısını otomatik olarak belirler. Ayrıca, hacmi önceden belirlenmiş bir eşiği aşarsa, rphost.exe işlemiyle RAM'in düzgün bir şekilde serbest bırakılmasını da yapılandırabilirsiniz. Aynı zamanda, 1C sunucusu, 1C görevlerini kademeli olarak devralan ve gerekli 1C sürecini boşaltmaya izin veren yeni bir rphost.exe işlemi oluşturur.

Ayrıca, önbellekte isabet eden SQL verisinin en az %90 olması durumunda SQL hizmetine ayrılan RAM miktarının yeterli kabul edildiğine de dikkat edilmelidir. Bu metrik oldukça uygundur çünkü SQL sunucusu tarafından tüketilen RAM miktarını basitçe göremezsiniz - SQL'in en son sürümleri dinamik olarak RAM tüketmiştir - diğer işlemler RAM talep ederken mümkün olan maksimum RAM miktarı yakalanır ve serbest bırakılır.

RAM frekansı. Kısacası bu, verilerin ana karta ve oradan da işlemciye iletildiği kanalların bant genişliğidir. Bu parametrenin anakartın izin verilen frekansıyla çakışması veya onu aşması istenir, aksi takdirde RAM iletim kanalı bir "darboğaz" olma riski taşır. Bir tür DDR çerçevesinde, frekansı artırmak / azaltmak, 1C sunucusunun performansını büyük ölçüde etkilemez ve daha çok "ince ayar" alanına atıfta bulunur.

RAM zamanlamaları. Bu, RAM'in Gecikmesi veya Gecikmesidir. Bu parametre, RAM mikro devresinin farklı modülleri arasında geçiş yaparken veri gecikme süresi ile karakterize edilir. Daha küçük değerler daha hızlı performans anlamına gelir. Ancak, sunucu sisteminin genel performansı üzerindeki etkisi ve hatta 1C: Enterprise sunucusu üzerindeki etkisi yüksek değildir. Genellikle, her ekstra performans düşüşünün en pahalı olduğu bu parametrelere yalnızca oyuncular ve hız aşırtmacılar dikkat eder.

Disk alt sistemi ve sabit sürücüler HDD

Sabit disk denetleyicileri. Bir donanım sisteminde sabit sürücüleri bağlamak ve düzenlemek için ana aygıt, sabit sürücü denetleyicisidir. İki çeşittir:

1. Yerleşik - denetleyici modülü sistemde yerleşiktir, sabit sürücü kafesi doğrudan ana karta bağlıdır. Daha ekonomik bir çözüm olarak kabul edilir.

2. Harici - anakart konektörüne bağlı ayrı bir baskılı devre kartıdır (aygıt). Sabit diskler HDD ile işlemleri yürütmek ve kontrol etmek için ayrı yongalara sahip olması nedeniyle daha profesyonel bir çözüm olarak kabul edilir. 1C: Enterprise server ve DBMS gibi önemli sunucu sistemleri için önerilir.

Ayrıca üçüncü bir tip daha vardır - iSCSI, FiberChanel, InfiniBand, SAS kanalları aracılığıyla blok verilerini almak / iletmek için bir cihaz. Ancak bu uygulamada disk alt sistemi, sunucuya bir optik veya bakır kablo ile bağlanan ayrı bir depolama aygıtı (DSS) üzerinde "çıkarılır". Makalemizde, 1C için otonom bir sunucunun gereksinimlerini analiz ediyoruz, bu yüzden bu türü dikkate almayacağız.

RAID dizilerinin türleri ve seviyeleri. Yedeklilik ve gelişmiş performans için birden çok diski mantıksal bir birimde birleştiren bir veri sanallaştırma teknolojisidir. RAID spesifikasyonunun en popüler seviyelerine bir göz atalım:

  • RAID 0 (“Şeritleme”) yedekliliği yoktur ve bilgileri dizide bulunan tüm disklere küçük bloklar ("şeritler") şeklinde bir kerede dağıtır. Bu, performansı önemli ölçüde artırır, ancak güvenilirliği tehlikeye atar. Performans iyileştirmelerine rağmen bu dizi türünü kullanmanızı önermiyoruz.
  • RAID 1 ("Yansıtma", "ayna"). Mevcut donanımın yarısının (genel durumda, iki sabit sürücüden birinin) arızalanmasına karşı korumaya sahiptir, kabul edilebilir bir yazma hızı ve isteklerin paralelleştirilmesi nedeniyle okuma hızında bir kazanç sağlar. Bu tür bir dizi, özellikle SAS 15K sürücüler veya SSD'ler kullanılıyorsa, 25-30 kullanıcıya kadar 1C + DBMS sunucusunu oldukça "çekecektir".
  • RAID10. Yansıtılmış sürücü çiftleri bir "zincir" şeklinde düzenlenmiştir, böylece elde edilen birim tek bir sabit sürücünün kapasitesini aşabilir. Bize göre, disk dizisinin en başarılı türü, o zamandan beri RAID1'in güvenilirliğini ve RAID 0'ın hızını birleştirir. 15K SAS sürücüler veya SSD ile birlikte 40-50 kullanıcıdan 1C sunucuları için kullanılabilir.
  • RAID5. Ekonomisiyle ünlü. Yedeklilik uğruna diziden yalnızca bir sürücünün kapasitesinden fedakarlık ederek, sistemdeki herhangi bir sabit sürücünün arızalanmasına karşı koruma sağlıyoruz. (RAID 6 varyasyonu, sağlama toplamlarını karşılamak için iki ekstra sabit sürücü gerektirir, ancak iki sürücü arızalansa bile verileri korur). Bu dizi türü ekonomiktir, güvenilirdir ve oldukça dikkat çekici bir okuma performansına sahiptir. Ne yazık ki, bu dizinin darboğazı, 15-20 kullanıcıya kadar 1C sunucu yapılandırmalarıyla kullanım kolaylığı sağlayan düşük yazma hızıdır. Ayrıca uygulamalı amaçlar için idealdir - dosya verilerinin depolanması, belge akışı arşivleri, vb.

Sabit disk arabirim türleri. Bağlantı türüne göre, sabit sürücüler ayrılır:

  • HDD Sata Ana Sayfası. Ev bilgisayarlarında veya ağ bağlantılı medya merkezlerinde kullanım için tasarlanmış en ucuz sabit disk sürümü. Düşük hata toleransı ve çalışma kararlılığı nedeniyle bu tür cihazların 1c sunucularında kullanılması kesinlikle önerilmez - bu sürücülerin bileşenleri sadece 7/24 çalışma için tasarlanmamıştır ve hızlı bir şekilde arızalanır.
  • HDD Sata Sunucusu. Bu ad genellikle Sata arabirimine ve 7.200 rpm iş mili dönüş hızına sahip sabit diskleri ifade eder. "Sunucu" ön eki, bu tür sürücülerin sunucu sistemlerinde çalışabilirlik açısından test edildiği ve 7/24 kararlı çalışacak şekilde tasarlandığı anlamına gelir. Genellikle 1C sunucularında yüksek işlem hızı gerektirmeyen büyük miktarda bilgiyi depolamak için kullanılırlar. Örneğin - 1c arşiv veritabanları, değişim klasörleri, ofis belgeleri yükleme dosyaları vb.
  • HDD SAS Sunucusu. SAS arabirimi (SCSI'nin modern analogu) ile Sata arabirimi arasında birkaç fark vardır. Bu, ortalama disk yanıt süresidir ve paylaşılan bir disk rafında çalışır ve HDD denetleyicisi ile daha yüksek veri değişim hızlarında çalışır - 6 Gb / s'ye kadar (Sata 3 Gb / s ile karşılaştırıldığında). Ancak ana avantaj, 15.000 rpm iş mili dönüş hızına sahip SAS disk modellerinin varlığıdır. SAS sürücülerin, HDD Sata Sunucusuna kıyasla saniyede neredeyse 3 kat daha fazla I/O işlemi gerçekleştirmesini sağlayan bu tasarım özelliğidir. Bu tür SAS disklerinin küçük bir hacmi vardır ve sürekli yüksek iş yüküne sahip temel 1c veritabanları için kullanılması önerilir.
  • SSD sürücüler. Bu diskler, bağlantı arayüzünde değil, tasarımlarında öncekilerden farklıdır - katı haldir ve hareketli parçaları yoktur, yani. özünde "flash sürücülerin" analoglarıdır. Bu tür teknolojiler, SSD disklerin saniyede "yasaklayıcı" sayıda G / Ç işlemi üretmesine izin verir (en basit SSD modellerinde 10.000 işlemden). Bununla birlikte, bu avantajın bir dezavantajı da vardır - SSD sürücülerinin daha yüksek fiyatı ve SSD bloklarına yazma sayısının sınırına bağlı olan "ömrünün eşiği". Ancak, her yıl bu diskler daha uygun fiyatlı ve dayanıklı hale geliyor. SSD disklerin maliyeti boyuta bağlı olarak birçok kat arttığından, TempDB DBMS'nin geçici veritabanlarının yanı sıra yüksek erişim hızı gerektiren küçük ancak aşırı yüklenmiş 1c veritabanları için kullanılması en mantıklı olacaktır.

IOPS, saniyedeki giriş-çıkış işlemlerinin sayısıdır. Aslında IOPS, bir ortama 1 saniye içinde okunabilen veya yazılabilen bilgi bloklarının sayısıdır. Yani, saf haliyle - bu, 1C sunucusunun performansını etkileyen sabit disk tarafından bilgi işleme hızının temel parametresidir. Karşılaştırma için standart bir 4kb bilgi bloğu alırsak, aşağıdaki IOPS göstergelerini kabaca ayırabiliriz (bkz. Tablo 4).


HDD IOPS Arayüz
7.200 rpm SATA sürücüler ~ 75-100 IOPS SATA 3Gb/sn
10.000 rpm SATA sürücüleri ~ 125-150 IOPS SATA 3Gb/sn
10.000 rpm SAS sürücüleri ~ 140 IOPS SAS
15.000 rpm SAS sürücüleri ~ 175-210 IOPS SAS
SSD sürücüler 8.000 IOPS'den SAS veya SATA

Tablo 4 - 4KB veri bloğuyla çalışırken çeşitli sabit disk türlerinde IOPS göstergeleri.


Tabii ki, saf haliyle IOPS, 1C sunucusunun disk alt sistemi için son hesaplamaları ve gereksinimleri hesaplamak için çok kullanışlı değildir. Sonuçta, bir disk alt sisteminin toplam performansı, RAID dizisinin türünden, disk türlerinden ve arabiriminin hızının göstergelerinden, yanıt süresinden (Gecikme), rastgele erişim süresinden, okuma ve yazma işlemlerinin yüzdesinden oluşur. ve diğer birçok faktör. Ancak bizce bu parametre, disk alt sisteminin hızının önemli bir göstergesidir ve bir sunucu mimarisi geliştirme aşamalarında, genellikle belirli ihtiyaçlar için hangi tür sabit disklerin en uygun olacağının belirlenmesine yardımcı olur. (bkz. RAID hesaplayıcı)

Pratik test

1C kullanıcı sayısı ile iop sayısı arasındaki ilişki nedir? Ekibimiz, belirli sayıda 1C oturumuyla disk alt sistemindeki yükü ölçmek için pratik bir test yaptı (bkz. tablo 5). 1C sistemi programlanabilir bir ortam olduğundan ve her şirketin 1C'de kendi iş süreçleri seti olabileceğinden, test için belirli bir referans konfigürasyonuna bağlanmamız gerekiyordu. Bu kapasitede, MCC 1C'nin test ve hata ayıklama için geliştirilmiş özel bir konfigürasyonu seçildi. Temel olarak, 1C programcılarımız, muhasebe sorgulamaları, kayıtlar, raporların hazırlanması ve operasyonel belgelerin yürütülmesi ile sıradan bir işletmenin normal işleyişini simüle eden bir dizi talep ekledi.


sistem diski Veritabanı diski
yineleme Kullanıcılar IOPS yazma IOPS okuması IOPS yazma IOPS okuması
Ortalama değerler
1 12 9,1 0,1 13,1 1,5
2 20 7,9 0,1 21,8 0,4
3 32 5,2 0,006 36,1 5,2
4 40 7,7 0,013 27,52 1,3
5 52 7,7 0,006 32,04 0,94

Tablo 5 - Disk alt sistemindeki yüke ilişkin pratik bir testin sonuçları.


Test sonuçları, disk alt sistemi üzerindeki yükün aslan payının, 1C DBMS sunucu veritabanına ve işletim sistemi diskine (varsayılan olarak 1C: Enterprise önbellek sunucusu dosyalarının bulunduğu) yazıldığında meydana geldiğini göstermektedir.

Paralel olarak, test süresi boyunca - 5 iş günü - 1C UPP 8.2'nin halihazırda çalışan temellerinin pratik ölçümlerini gerçekleştirdik. Ortalama olarak, bir 1C + DBMS sunucusunun "yazma" için "okuma" için iki kat daha fazla iop tükettiğini gösteriyorlar. Gerçek bir 1C sunucusunu izlemek için sentetik testler ve istatistikler arasındaki bu fark, hem çalışma günü boyunca veritabanından bilgi verilerinin periyodik olarak örneklenmesinden hem de DBMS'yi yedeklerken veya çoğaltırken veritabanının düzenli olarak okunmasından kaynaklanmaktadır.

Dikkat edilmesi gereken sabit sürücünün diğer parçaları.

  • Fiziksel boyut (form faktörü). Bugün, kişisel bilgisayarlar ve sunucular için bilinen neredeyse tüm sürücülerin boyutu 3,5 veya 2,5 inçtir. 2,5 inçlik disklerin büyük hacimlerde üretilmediğini unutmayın.
  • Rastgele erişim süresi- sabit diskin manyetik diskin belirli bir alanında okuma-yazma işlemi gerçekleştirmesinin garanti edildiği süre. Kural olarak, sunucu sürücüleri daha iyi sonuçlar verir. Bu, 1C DBMS sunucusu için bir dizi disk oluştururken oldukça önemli bir parametredir.
  • iş mili hızı- sabit disk milinin dakikadaki devir sayısı. Buradaki her şey basit ve net - sabit diskin erişim süresi ve ortalama veri aktarım hızı, milin manyetik plakalı dönüş hızına bağlıdır.
  • Sabit disk arabellek boyutu- arabellek, sabit diskin okuma / yazma hızındaki farklılıkları ve arayüz aracılığıyla veri aktarımını düzeltmek için tasarlanmış geçici bir bellektir.
  • Güvenilirlik- arızalar arasındaki ortalama süre (MTBF) olarak tanımlanır. Tipik olarak, güvenilirlik doğrudan sabit sürücünün üreticisine, fiyatına ve kullanım ortamına bağlıdır. Güvenilirliği, 1C sunucu işleminin kalitesini etkileyen bir sabit diskin önemli bir parametresi olarak görüyoruz.

Doğru seçim: ev veya sunucu donanımı

Donanım bileşenlerinin ucuzlaması ve "ev bilgisayarlarının" potansiyel kapasitelerinin aktif olarak büyümesi, başka bir tehlikeli yanılgıya yol açıyor - küçük işletmeler, 1C veritabanlarıyla işbirliği için bir platform olarak iş istasyonlarını aktif olarak kullanıyor. Aynı zamanda, çekirdek frekansı, bellek boyutu ve bütçe SSD sürücülerini normal bir PC'de kullanma olasılığı parametrelerine ek olarak, donanımın çalışması için daha sistemik, daha derin ve daha önemli gereksinimler olduğunu fark etmeden. ticari bir yapı (bkz. Tablo 6).

1C sunucusu düzenleme sorununu çözmek için, Katman III veri merkezlerinde 1C bulut sunucularının kiralanmasını sunuyoruz. Bir sunucu kiralama seçmenin ekonomik fizibilitesi makalede bulunabilir.


Seçenekler sunucu Kişisel bilgisayar
Hesaplama gücünün yeterliliği V V
7/24 garantili sistem çalışma süresi V x
Temel donanım bileşenlerinin güvenilirliği ve kararlılığı V x
Uzaktan Güç ve Konsol Yönetimi (IPMI) özelliği V x
Donanım platformunun bütçe maliyeti x V

Tablo 6 - Yüksek kaliteli 1C sunucu çalışması için gerekli kriterlere göre ev ve sunucu donanımının karşılaştırılması.

1C'nin hatasız çalışması

Kuşkusuz, 1C'nin sunucu kısmı için önemli gereksinimlerden biri, çalışmasının kararlılığı ve arızalara karşı dayanıklılıktır. Microsoft ve 1C'nin kendisi, hizmetlerini oldukça ciddi bir düzeyde kümelemek için teknolojiler yaratarak bu yönde çok çaba sarf etti (bkz. Tablo 7).


SQL sunucularının hata toleransı Tek bir paylaşılan veri ambarı konseptine dayanmaktadır. Yerleşik SQL Server kümeleme teknolojisi, iki SQL sunucusunu tek bir sanal IP adresi ve tek bir taban ile tek bir kümede birleştirir. Böylece ana SQL başarısız olursa sorgular otomatik olarak yedeğe aktarılır.
İkinci seçenek, yakın zamanda tanıtılan AlwaysOn, birincil ve yedek SQL sunucuları arasında otomatik düzenli veritabanı çoğaltma teknolojisidir. Aynı zamanda, yinelenen SQL sunucusu fiziksel olarak farklı bir depolamada bulunur ve bu da risklere karşı direnci artırır
1C: Kurumsal sunucu hizmetinin hata toleransı 1C Enterprise sunucuları, otomatik yük devretme ve mevcut oturumları kaydetme ile aktif-aktif bir yazılım yük devretme kümesinde birleştirilir.

Tablo 7 - SQL ve 1C sunucularının hata toleransı.


Ancak, her teknolojinin hem artıları hem de eksileri vardır. Anahtar avantajlarına ek olarak, hizmet performansında bir bozulma ile sonuçlanmamak için 1C ve SQL () kümelemenin bazı özelliklerini bilmeniz gerekir:

  • SQL kümeleme, sanal IP kullanır. Bu, 1C: Enterprise sunucusu ile MS SQL arasındaki etkileşimin, her iki hizmet de aynı işletim sisteminde olsa bile, her zaman ağ arabirimi üzerinden gerçekleşeceği anlamına gelir. Buna göre, 1C'nin kendisi tarafından önerilen mimarinin klasik versiyonuna kıyasla 1C'nin çalışmasında bir yavaşlamaya yol açacaktır - paylaşılan bellek Paylaşılan Bellek kullanarak. Prensipte, bu engel, örneğin MS SQL Log Shipping teknolojisi kullanılarak "atlanabilir". Ancak bu durumda, yedek SQL sunucusuna geçiş artık otomatik olmayacak ve bu seçenek tam teşekküllü bir küme olarak kabul edilemez.
  • SQL Cluster büyük bütçeli bir yatırımdır. MS SQL hizmetinin klasik kümelenmesinden bahsediyorsak, ana ve yedek SQL sunucularına bağlı birleşik bir veritabanı deposu gereklidir. Genellikle bu rol, bütçeyi bir büyüklük sırasına göre artıran pahalı depolama sistemleri tarafından oynanır. Yeni nesil AlwaysOn'dan bahsediyorsak, birleşik bir veritabanı depolaması gerekli değildir, teknoloji ağ üzerinden birincil ve yedekleme sunucularının yerel diskleriyle çalışır. Bunun yerine, normal bir SQL Server Standard lisansından 4 kat daha pahalı olan bir Enterprise SQL Server sürümü gerektirir.
  • Lisans sayısı.İkinci SQL sunucusunun verileri işlememesine ve yedekte olmasına rağmen, hem birincil hem de yedek olmak üzere her iki sunucu için de lisans satın alınması gerekecektir. Dağıtılmış AlwaysOn High Availability Groups kümesini uygulamaya yönelik SQL Server Enterprise lisansları özellikle bütçe açısından sorunludur.
  • Kurumsal çapta bir muhasebe sistemi kadar önemli bir hizmet için ucuz özel donanım kullanmanıza gerek yoktur. Bu durumda fiyat, böyle bir platformun kalitesini, istikrarını ve dayanıklılığını doğrudan belirler.
  • Bir sunucu platformu seçerken iki güç kaynağının, bir uzak IPMI kartının ve üreticinin markasının bulunmasına dikkat etmenizi öneririz. Tabii ki, herkes bütçesine göre bir çözüm seçer, en iyi markalar bazen çok pahalıdır ve tamamen uygun değildir, ancak üreticiden gerçekten tasarruf etmemelisiniz, bu 1C ile çalışırken kontrol edilemeyen mücbir sebeplere yol açabilir. Intel sunucu CPU'ları ile birlikte Supermicro sunucu platformlarını kişisel olarak kullanıyoruz.
  • 1C performansının, sağlanan çekirdek sayısından daha yüksek bir CPU frekansına bağlı olduğu, uygulama tarafından onaylanan bir görüş var.
  • 1C sunucusu ve SQL hizmeti için ayrılan RAM miktarından tasarruf etmeye gerek yoktur. Şu anda, RAM oldukça ucuz bir kaynaktır ve eksikliği (yüzde 10-15 oranında bile) 1C sisteminin performansında güçlü bir düşüşe yol açacaktır, çünkü daha yavaş takas sistemi açılacaktır. Ayrıca, takas, durumu daha da kötüleştirecek olan disk alt sistemine ek yük getirecektir.
  • EFSOL, 1C sunucu seçimi için aşağıdakileri içeren kapsamlı hizmetler sunar: 1C sunucu tasarımı, satın alma, yapılandırma ve bakım.
  • Kendi 1C sunucu seçeneği oluşturmanıza bir alternatif, 1C için bir sunucu kiralamaktır. Bulut teknolojileri, düşük aylık maliyetlerle, 1C'de rahat çalışma için güvenilir, hataya dayanıklı bir hizmet almayı sağlar.

Sistem entegrasyonu. Danışmanlık

1C için hangi sunucuya ihtiyaç duyulacağını seçerken, kullanıcılar onunla çalışırken, saniyede birçok veri okuma ve yazma işleminin gerçekleştirileceği unutulmamalıdır.

Büyük olasılıkla, 1C için bir sunucuyu doğru bir şekilde tasarlamanın neden bu kadar önemli olduğu hemen anlaşılır - donanım başlangıçta yanlış seçilmişse ve sistemdeki yüke karşılık gelmiyorsa, o zaman bir risk vardır, hatta aralıklı olarak çalışma riski vardır. önemli veriler kaybolacak. Öte yandan, 1C için bir sunucu oluşturmak, bunun için tüm donanım ve yazılımı satın almak şirket için önemli bir maliyete mal olabilir, bu nedenle gereksiz maliyetlerden kaçınmak için ekipman seçilmesi önerilir.

1C için sunucu seçimi

Uzmanlarımız bir 1C sunucusu için yapılandırma seçimi yapmaları gerektiğinde, ilk sordukları şey şirkette 1C ile kaç kullanıcının çalışacağı ve hangi hizmet setini kullanmayı planladıkları, bunların ne olacağı, kim ve nasıl olacağıdır. 1C sunucularını yönetin. 1C sunucusu oluştururken bu bilgileri temel alıyoruz.

Sunucu gereksinimleri 1C

1C sunucusunun donanım yapısında işlemci, RAM, disk alt sistemi ve ağ arayüzlerinin özellikleri bizim için önemli olacaktır.

Aşağıdaki bileşenlerin istikrarlı ve yeterince verimli çalışmasını sağlamaları gerekir:

  • işletim sistemi;
  • veritabanı sunucusu (çoğunlukla öyledir);
  • 1C'nin sunucu kısmı (2-10 kullanıcı için küçük bir şirket dosya modunda 1C ile çalışabileceğinden, her durumda değil);
  • kullanıcı Uzak Masaüstü modunda çalışır;
  • ince bir istemci veya bir web istemcisi aracılığıyla uzak kullanıcıların çalışması.

1C sunucusu için işlemci seçme

Optimum işlemci çekirdeği sayısı genellikle, işletim sistemi çalışması için 1-2 çekirdeğin, SQL veritabanının çalışması için 1-2 çekirdeğin, uygulama sunucusunun çalışması için başka bir 1 çekirdeğin ve yaklaşık olarak ayrılması gerektiği gerçeğine dayanarak hesaplanır. Her 8-10 eşzamanlı kullanıcı oturumu için 1 çekirdek (böylece kullanıcılar daha sonra 1C sunucusunun yavaşladığından şikayet etmesin).

Lütfen, istek işleme hızının, işlemci saat hızında olduğu gibi çekirdek sayısına bağlı olmadığını ve çekirdek sayısının, çok sayıda kullanıcı ve onlardan eşzamanlı görevlerle çalışmanın kararlılığı üzerinde daha büyük bir etkisi olduğunu unutmayın.

1C sunucusunun ne kadar belleğe ihtiyacı var?

Yukarıdakilere ek olarak, 100 veya daha fazla kullanıcı için 1C için bir sunucuya ihtiyacınız varsa, en az iki fiziksel 1C sunucusundan oluşan bir küme dağıtmanızı öneririz.

Aşağıdaki göstergelere dayanarak gerekli RAM'in boyutunu hesaplamayı öneriyoruz:

  • İşletim sisteminin çalışması için 2 GB gereklidir
  • MS SQL Server önbelleğinin çalışması için en az 2 GB ve bu değerin veritabanının gerçek hacminin %20-30'u kadar olması daha iyidir - bu, kullanıcıların onunla rahat çalışmasını sağlayacaktır
  • 1C uygulama sunucusu için 1 - 4 GB
  • 100 - 250 MB, 1C sunucusunun işlev grubuna, kullanılan yapılandırmaya bağlı olarak bir kullanıcı terminal oturumu gerektirecektir.

1C 8.3 sunucusunun parametrelerinin yaklaşık hesaplamalarını verelim:

Bir marjla RAM satın almak daha iyidir - bu, 1C sunucusunun yüksek performansındaki en önemli faktörlerden biridir ve aynı zamanda şimdi en ucuz bileşenlerden biridir. 1C Enterprise sunucusunda yeterli bellek yoksa, çalışma sırasında çok fark edilecektir, bu nedenle, soru hangi 1C sunucusunu seçeceğiniz olduğunda, her zaman yeterli RAM'e sahip olmasına dikkat edin.

Sunucu 1C: disk alt sistemi için donanım

1C için hangi sunucuya ihtiyaç duyulacağını seçerken, kullanıcılar onunla çalışırken, saniyede birçok veri okuma ve yazma işleminin gerçekleştirileceği unutulmamalıdır. Bu parametre - sabit diskin verileri hangi hızda işleyebileceği - aynı zamanda 1C sunucu performansı için önemli parametrelerden biridir.

1C sunucusunu tasarlarken, disk alt sisteminin donanım gereksinimleri için aşağıdakilere uymanızı öneririz:

  • 1C için hangi sunucuyu oluşturduğunuz önemli değil, hiçbir durumda sunucularda tek disk kullanmanızı önermiyoruz - bunları RAID dizileri (büyük veritabanları için RAID 10 veya küçük veritabanları için RAID 1) halinde düzenlemeniz önerilir, burada veritabanı tabloları yer almak.
  • Daha hızlı erişim için dizin dosyalarını ayrı bir SSD'ye taşımanızı öneririz.
  • TempDB - 1-2 (RAID 1) SSD.
  • OS ve kullanıcı verilerini SSD / HDD'den RAID 1'e yerleştirin.
  • Günlük dosyaları için diziden ayrı bir mantıksal sürücü veya fiziksel bir SSD sürücüsü tahsis edin.
  • Mümkün olduğunda bir donanım denetleyicisi kullanın - yetersiz denetleyici performansı nedeniyle güçlü ve pahalı bir sunucunun yavaşladığı durumları gördük.

1C için sunucu seçimi

Bu yazıda, 1C için nasıl sunucu seçileceğine dair bazı ipuçları ve kaba hesaplamalar sağladık, umarız sizin için faydalı olur.

Sonuç olarak, bir şey daha ekleyeceğiz - 1C sunucusu için bir kullanıcı bilgisayarı kullanarak tasarruf etmeye çalışmamalısınız (genellikle küçük şirketlerde yapıldığı gibi) - kullanıcı donanımı, benzer sunucu donanımından çok daha az güvenilir ve hataya dayanıklıdır. verim. İşletmenizin muhasebe sistemini riske atmaya değmez. Doğru donanımı satın almak bütçenize uymuyorsa, bulutta 1C dağıtmayı düşünmeniz gerekebilir.

1C Enterprise 8.3 için hangi sunucuyu seçeceğinize, 1C sunucusu nasıl yapılır, daha önce bu görevle karşılaşmadığınız için gezinmekte zorlanıyorsanız, her zaman bir sistem entegratörü firma ile iletişime geçerek deneyimli teknisyenlerin size tasarım, satın alma gibi konularda yardımcı olabilmesini sağlayabilirsiniz. , 1C için size uygun bir sunucu kurun ve kurun.

Çoğu durumda, "istemci-sunucu" seçeneğinde 1C: Enterprise 8.x'i yüklemek için 1C: Enterprise 8.x kurulum programını çalıştırmak yeterlidir. Bu durumda, 1C: Enterprise sunucusu, normal çalışması için gerekli olan parametrelerin standart değerlerini alır.

1C: Enterprise sunucusunun kurulumunu daha ayrıntılı olarak ele alalım. 1C: Enterprise 8.x sunucusunun kurulumu sırasında, 1C: Enterprise 8.x kurulum programı aşağıdaki eylemleri gerçekleştirir:

* 1C: Enterprise sunucusunun yükleme modüllerini, hedef klasör olarak 1C: Enterprise kurulum programı tarafından belirtilen dizine kopyalar.
* Kurulum işlemi sırasında "USR1CV81 kullanıcısı oluştur" seçilirse, kullanıcı USR1CV81'i oluşturur. Bu kullanıcı adına 1C: Enterprise 8.1 sunucusu, bir hizmet olarak başlatılırsa çalışır. Yalnızca 1C: Enterprise sunucusunun ihtiyaç duyduğu kaynaklara erişimi vardır. 1C: Enterprise sunucusunun çalışması için iki dizine ihtiyaç duyması önemlidir: sunucu verileriyle ortak bir dizin (genellikle "C: \ Program Files \ 1cv81 \ server") ve geçici bir dosya dizini (genellikle "C: \ Documents and Settings \ usr1cv81 \ Local Settings \ Temp "veya" C: \ WINNT \ Temp "). Kullanıcı USR1CV81, sunucu verileriyle paylaşılan dizine ilişkin haklara sahip olur. Geçici dosyalar dizini genellikle tüm kullanıcılar tarafından kullanılabilir.
* Yükleme işlemi sırasında "1C: Enterprise 8.1 sunucusunu Windows hizmeti olarak yükle" etkinleştirilirse, 1C: Enterprise sunucu aracısı hizmetini Windows'a kaydeder ve başlatır. İlk başlangıçta, varsayılan ayarlarla bir 1C: Enterprise sunucu kümesi oluşturulur. Bir işçi sunucusuna ve bir işçi sürecine sahiptir. Çalışan sunucu adresi, kurulumun yapıldığı bilgisayarın adı ile aynıdır.

USR1CV81 veya USR1CV82 kullanıcısı ve hakları

Sunucu 1C: Enterprise, herhangi biri girdiyse, çalışması hangi kullanıcının sunucu bilgisayara etkileşimli olarak girdiğine bağlı olmaması gereken bir sunucu uygulamasıdır. Bu nedenle, 1C: Enterprise sunucusunu kurarken, 1C: Enterprise sunucusu için gereken minimum haklara sahip ve etkileşimli oturum açma amaçlı olmayan özel bir USR1CV81 kullanıcısı oluşturmanız önerilir. 1C: Enterprise sunucusu, USR1CV81 kullanıcısı tarafından Windows sistemine sunulur.

USR1CV81 kullanıcısına atanan haklara daha yakından bakalım. Sunucu 1C: Enterprise aşağıdaki dizinleri kullanır:

* Yükleme modülleri dizini, hedef klasör olarak 1C: Enterprise kurulum programı tarafından belirtilen dizinde bulunur. 1C: Enterprise sunucusunun yük modüllerini içerir. USR1CV81 kullanıcısının bu dizinden ve alt dizinlerinden verileri okuma ve programları çalıştırma haklarına ihtiyacı vardır. Kullanıcılar grubuna dahil olması sayesinde bu hakları zımnen alır.
* Sunucu veri dizini genellikle "C: \ Program Files \ 1cv81 \ server" olarak adlandırılır. USR1CV81, bu dizine ilişkin tüm haklara ihtiyaç duyar. 1C: Enterprise kurulum programı, bir USR1CV81 kullanıcısı oluştururken, ona bu dizinin haklarını verir.
* Geçici dizin genellikle "C: \ Documents and Settings \ usr1cv81 \ Local Settings \ Temp" veya "C: \ WINNT \ Temp" olarak adlandırılır ve kullanıcının TEMP değişkeninin veya sistem ortamı TEMP değişkeninin değeri tarafından belirlenir. Bu değişkenin değerini Sistem Özellikleri iletişim kutusunda görüntüleyebilirsiniz (Başlat -> Ayarlar -> Denetim Masası -> Sistem -> Gelişmiş -> Ortam Değişkenleri). 1C: Enterprise kurulum programı, USR1CV81 kullanıcısına bu dizine ilişkin tüm hakları verir. Tipik olarak, Windows'u kurarken, CREATOR OWNER grubunu ACL'sine dahil ederek temp dizini tüm kullanıcılar tarafından kullanılabilir. Ancak bu erişim tamamlanmamıştır. Özellikle, bu dizindeki dosyaları arama işlemi tüm kullanıcılar tarafından kullanılamaz. USR1CV81 kullanıcısının geçici dosyalar dizinine tam haklarını ayarlamak, 1C: Enterprise sunucusunun ihtiyaç duyduğu tüm işlemleri gerçekleştirmesini sağlar. Erişim listesini Güvenlik sekmesindeki dizin özellikleri iletişim kutusunda görüntüleyebilirsiniz. CREATOR OWNER grubunun varlığı, bu dizinde herhangi bir dosya oluşturan veya bu dizindeki herhangi bir dosyanın sahibi olan herhangi bir kullanıcının dizine erişmesine izin verir. Bu durumda dosyayı oluşturan kullanıcı, CREATOR OWNER grubu yerine oluşturulan dosyanın erişim listesine kaydedilecektir. Bu dizine erişim izni verilen kullanıcılar arasında, bu dizine ilişkin tüm haklara sahip USR1CV81 kullanıcısı da olmalıdır.
Belirli bir kullanıcı için (USR1CV81 kullanıcısı dahil) geçici dosya dizininin, o kullanıcının ortam değişkenleri ve sistem ortam değişkenlerinin bir kombinasyonu tarafından belirlendiğini akılda tutmak önemlidir. Bu dizini bulmak için 1C: Enterprise kurulum programı USR1CV81 kullanıcı bağlamını sorar. Bunu yapmak için Windows 2000'de, adına 1C: Enterprise kurulum programı başlatılmış olan kullanıcının aşağıdaki ayrıcalıklara ihtiyacı olabilir: İşletim sisteminin bir parçası olarak hareket et ve Geçiş denetimini atla. Kullanıcı ayrıcalıklarını Yerel İlkeler -> Kullanıcı Hakları Ataması bölümündeki Yerel Güvenlik Ayarları yardımcı programını kullanarak kontrol edebilirsiniz. Yeni yazılımın yüklenmesi sırasında, yükleyici genellikle bu ayrıcalıkları otomatik olarak kazanır.

1C: Enterprise sunucusunun Windows hizmeti olarak kaydı


Sunucu 1C: Enterprise, basit bir Windows konsol uygulamasıdır ve etkileşimli olarak başlatılabilir. Ancak, kalıcı kullanım için bu uygun değildir, çünkü 1C: Enterprise sunucusunu etkin olmayan bir kullanıcının girişinden sunucu bilgisayara başlatır. Bu bağımlılığı ortadan kaldırmak için 1C: Enterprise sunucusu bir Windows hizmeti olarak çalışabilir. Bunu yapmak için Windows Hizmet Yöneticisi'nde kayıtlı olması gerekir.

Windows hizmetlerinin ve parametrelerinin listesini görüntülemek için Bileşen Hizmetleri yardımcı programını kullanın (Başlat -> Ayarlar -> Denetim Masası -> Yönetimsel Araçlar -> Hizmetler). 1C: Enterprise sunucusu, hizmetler listesinde "1C: Enterprise 8.1 Sunucu Aracısı" hizmeti tarafından temsil edilir. Hizmet parametreleri, 1C: Enterprise Server Agent (ragent) işleminin başlatılmasını, başlatıldığı kullanıcıyı ve acil durumlarda yeniden başlatma yöntemini belirler.

"1C: Enterprise 8.1 Sunucu Aracısı" hizmetinin özellikler iletişim kutusunda, Genel sekmesinde, 1C: Enterprise sunucusunun Aracısı olan ragent işlemini başlatma satırı gösterilir. Genellikle bu satır şöyle görünür:


Şu hususları belirtmektedir:

* Sunucu Aracısı işlemi, "C: \ Program Files \ 1cv81 \ bin \ ragent.exe" yükleme modülüdür;
* ragent işlemi bir Windows hizmeti olarak başlar ve bir hizmet yöneticisi (-srvc) tarafından yönetilmelidir;
* 1C: Enterprise sunucusunun (-agent) Aracısı olarak kullanılır;
* hizmet ilk kez başlatıldığında, varsayılan parametreler ve ana IP bağlantı noktası numarası 1541 (-regport 1541) ile bir küme oluşturulmalıdır. İstemci uygulamaları, kümede kayıtlı bilgi tabanlarına bağlanmak için bu bağlantı noktasını kullanmalıdır;
* Sunucu aracısı IP bağlantı noktası 1540 (-port 1540) olmalıdır. Bu bağlantı noktasında, yönetim işlevlerini gerçekleştirmek için Küme Konsolu merkezi sunucuya bağlanmalıdır;
* bu sunucuda küme işlemleri başlatılırken, 1560-1591 (-aralık 1560: 1591) aralığından dinamik olarak IP bağlantı noktaları atanacaktır.
* genel küme verileri "C: \ Program Files \ 1cv81 \ server" dizininde (-d "C: \ Program Files \ 1cv81 \ server") yer alacaktır.

1C: Enterprise 8.1 Sunucu Aracısı hizmeti, yalnızca 1C: Enterprise 8.1 kurulum programı kullanılarak 1C: Enterprise kurulurken veya kaldırılırken değil, manuel olarak da eklenebilir veya kaldırılabilir. Bunu yapmak için, uygun parametreleri belirterek komut satırından ragent yardımcı programını çalıştırabilirsiniz.

Servis oluşturmak için -instsrvc parametresini ve aşağıdaki parametreleri belirtmeniz gerekir: -usr, hizmetin adına başlatılması gereken kullanıcı adıdır, -pwd bu kullanıcının şifresidir. Bu durumda, parametrelerin geri kalanı, 1C: Enterprise sunucusunun Aracısını bir hizmet olarak başlatmak için satırın parametreleri olacaktır. Örneğin, hata ayıklama modunda 1C: Enterprise Server Agent hizmetinin standart kaydı için, parametre seti aşağıdaki gibi olmalıdır:

"C: \ Program Files \ 1cv81 \ bin \ ragent.exe" -instsrvc -usr. \ USR1CV81 -pwd Parola -regport 1541 -port 1540 -range 1560: 1591 -d "C: \ Program Files \ 1cv81 \ server" - hata ayıklama

Bir hizmeti kaldırmak için -rmsrvc parametresini belirtmeniz gerekir. Örneğin:
"C:\Program Dosyaları\1cv81\bin\ragent.exe" -rmsrvc

Bazen, Sunucu Aracısı başlatma satırını veya Aracı hizmetinin diğer parametrelerini değiştirmek, örneğin hata ayıklama modunu etkinleştirmek veya farklı sürümlerde birkaç hizmet oluşturmak çok kolaydır. Hizmet özellikleri iletişim kutusu, hizmet uygulaması başlatma satırının ve örneğin hizmet tanımlayıcısı gibi bazı diğer parametrelerin düzenlenmesine izin vermez. Düzenlemek için, Windows kayıt defterini görüntülemek ve düzenlemek üzere tasarlanmış regedit yardımcı programına ihtiyacınız vardır.

Dikkat!
Windows kayıt defterinde yapılan hatalı değişiklikler işletim sistemini kullanılamaz hale getirebileceğinden, Windows kayıt defterini düzenlemek son derece dikkatli olmayı gerektirir.

Regedit yardımcı programını çalıştırın (Başlat -> Çalıştır'ı açın ve regedit yazın) ve dalı seçin:


Parametreleri arasında, değeri 1C: Enterprise sunucusunun Aracısını başlatma satırı olan ImagePath parametresi vardır. Burada başlatma satırına yeni parametreler ekleyebilir veya mevcut olanların değerlerini değiştirebilirsiniz. Olası parametrelerin tam listesi "1C: Enterprise 8.1 İstemci-Sunucu" belgelerinde verilmiştir.

1C: Enterprise sunucusunun Aracısının birkaç bağımsız hizmetini kaydetmeniz gerekiyorsa, bunları farklı yük modülleri, farklı bağlantı noktaları ve kümenin farklı veri dizinleri belirtmeniz gerekir. Ayrıca bunları farklı hizmet tanımlayıcılarıyla kaydetmeniz gerekir. Bunu şu şekilde yapabilirsiniz:

* İlk hizmeti oluştur:
"C: \ Program Files \ 1cv81 \ bin \ ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560: 1591 -d "C: \ Program Files \ 1cv81 \ server"

* Kayıtlı hizmet tanımlayıcısını regedit yardımcı programını kullanarak değiştirin. Bunu yapmak için: bir şube seçin
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Sunucu Aracısı

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Önce Enterprise 8.1 Sunucu Aracısı
* İkinci bir hizmet oluşturun:
"C: \ Program Files \ 1cv81_10 \ bin \ ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660: 1691 -d "C: \ Program Files \ 1cv81_10 \ server"

* Belki kimliğini de değiştirin. Bunu yapmak için: bir şube seçin
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Sunucu Aracısı
ve adını değiştirin, örneğin:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Sunucu Aracısı İkinci

1C: Enterprise kurulum programı ne yapamaz?

Daha önce de belirtildiği gibi, 1C: Enterprise yükleme programı, 1C: Enterprise yük modüllerini kopyalar ve COM'da ve Windows hizmet yöneticisinde gerekli kaydı gerçekleştirir. Yukarıdakiler, bu kaydın iç mekanizmalarını anlamak için ihtiyaç duyduğunuz bilgilerdir. Sunucu bilgisayarda sadece sunucu değil, aynı zamanda 1C: Enterprise istemci kısmı da kuruluysa, kurulumdan (ve koruma anahtarlarının bağlanmasından) hemen sonra çalışmaya hazırdır.

1C: Enterprise sunucusuna yerel ağdaki diğer bilgisayarlardan erişilebilmesi için, sunucu ve istemci bilgisayarların yanı sıra ağın tamamı için ağ ayarlarının kontrol edilmesi gerekir. TCP / IP, istemci uygulamaları ile 1C: Enterprise sunucusu arasında ve ayrıca sunucu kümesi işlemleri arasında veri aktarmak için kullanılır. 1C: Enterprise'ın istemci-sunucu sürümünde çalışması, yapılandırmasının doğruluğuna bağlıdır.

1C: Enterprise sunucu kümesinin işlemleri, çalışan sunucuların özellikler iletişim kutusunun "Bilgisayar" özelliğinin değerleri olarak belirtilen adreslerde birbirine bağlanır. Küme, "Bilgisayar" özelliğinin değerinin, nokta gösteriminde bir IP adresi veya TCP API'sinde tanımlanan gethostbyname işlevini kullanarak IP adresini belirlemek için kullanılabilecek bir sembolik adres olmasını gerektirir. IP adresi, yerel sembolik adres tablosundan (C:\WINNT\system32\sürücüler\vb\hosts) veya mevcut DNS sunucularındaki adres tablolarından belirlenir. Çalışan sunucunun sembolik adresi, IP adresini belirlemiyorsa veya yanlış belirlenirse (örneğin, IP adresi bu bilgisayarın gerçek IP adresiyle eşleşmiyorsa), küme çalışmayacaktır. Kümedeki üretim sunucularının her birinde Windows'ta tanımlanan bilgisayar adlarının ve adreslerinin DNS'deki adlarıyla çakışmaması önemlidir.

Çalışan her sunucuda, küme işlemleri aşağıdaki bağlantı noktalarını kullanır: Çalışan sunucunun IP bağlantı noktası (genellikle 1540); İş akışı IP bağlantı noktası aralıklarından IP bağlantı noktaları (genellikle 1560-1591). Ayrıca, kümenin merkezi sunucusu, küme bağlantı noktasını kullanır (genellikle 1541). Sistem güvenlik duvarları kullanıyorsa, bu bağlantı noktalarında veri aktarımına izin verilmelidir. Yukarıdaki listeden bağlantı noktalarına izin vermek yerine, küme işlemlerine (ragent, rmngr, rphost) veri aktarımına izin verebilirsiniz.

1C: Enterprise istemci uygulamasının sunucuya bağlantısı 2 aşamada gerçekleştirilir. Önce küme yöneticisiyle bir bağlantı kurar. Bu, merkezi sunucunun (sembolik veya sayısal) adresini ve küme bağlantı noktasını (genellikle 1541) kullanır. Ardından, istemci uygulaması, çalışan işlemlerden biriyle bağlantı kurar. İlgili çalışma sunucusunun "Bilgisayar" özelliğinin değeri ve çalışan sunucunun IP portları aralığından seçilen çalışma işleminin portu adresi olarak kullanılır. İstemci uygulama bilgisayarından 1C: Enterprise sunucu kümesinin bilgisayarlarına giden yoldaki tüm güvenlik duvarlarında bu bağlantı noktalarına veri aktarımına izin verilmelidir. Sunucu işlemlerinin IP adresi, istemci bilgisayardaki gethostbyname işlevi kullanılarak belirlenir. Küme sunucularının her birinde Windows'ta tanımlanan merkezi ve üretim sunucularının adlarının ve adreslerinin, istemci bilgisayarda bulunan DNS'deki adlarıyla çakışmaması önemlidir.

Ve son şey. Açıkçası, 1C: Enterprise sunucusuna diğer bilgisayarlardan başarılı erişim için ağ üzerinde olması ve bunun için gerekli ayarların yapılması gerekiyor. Ağ bağlantısı ve kurulum yöntemleri, Microsoft Windows tabanlı ağ yönetimine özeldir ve ilgili talimatlarda açıklanmıştır.

SQL Server Tuning'in Özellikleri

1C: "İstemci-sunucu" sürümündeki Enterprise, veri depolama için SQL sunucusunu kullanır. Aynı zamanda, yalnızca 1C: Enterprise Server, SQL sunucusuna hitap eder. 1C: Enterprise istemcilerinin SQL sunucusuna doğrudan erişimi yoktur. SQL Server'ın kurulması ve yapılandırılması, Microsoft SQL Server belgelerinde ayrıntılı olarak açıklanmaktadır. 1C: Enterprise Server'ın SQL sunucusu ile başarılı bir şekilde çalışması için aşağıdaki ayarlara özellikle dikkat etmeniz gerekir.

* Gerekli SQL Server bileşenleri. SQL sunucusuna 1C: Enterprise Server tarafından erişmek için 1C: Enterprise Server bilgisayarında Microsoft Data Access 2.6 veya sonraki sürümleri kurulu olmalıdır.
* SQL sunucusu tarafından kullanıcı kimlik doğrulaması. SQL sunucusu veritabanlarına erişim hakları, adına veritabanına erişilen kullanıcı tarafından belirlenir. SQL sunucusunun kurulu olduğu bilgisayardan SQL Server Enterprise Manager yardımcı programını başlatın, Yerel düğümü (Konsol Kökü -> Microsoft SQL Sunucuları -> SQL Sunucu Grubu -> (Yerel)) bulun ve özelliklerini açın. Güvenlik sekmesinde, SQL Server'ın kullanıcıların kimliğini doğrulamak için iki yolu desteklediğini görebilirsiniz: SQL Server ve yalnızca Windows ve Windows. Windows kimlik doğrulaması, 1C: Enterprise Sunucusunun SQL sunucusuna yalnızca USR1CV81 kullanıcısı adına erişmesine izin verir ve bu, tek bir 1C: Enterprise sunucusu tarafından sunulan çeşitli bilgi tabanlarına farklı erişim haklarına izin vermez. SQL Server ve Windows modunu seçmeniz önerilir. Bu durumda belirli bir bilgi tabanına erişim, bu bilgi tabanı oluşturulurken SQL server kullanıcısı olarak belirtilen kullanıcı adına gerçekleştirilecektir. Bu kullanıcının yalnızca bilgi bankası veritabanı üzerinde tam haklara sahip olması değil, aynı zamanda SQL sunucusunda veritabanları oluşturma ve Ana veritabanı tablolarını okuma haklarına da sahip olması önemlidir.
* SQL sunucusuna erişim için ağ protokolleri. 1C: Enterprise Server ve SQL sunucusu farklı bilgisayarlarda bulunuyorsa, SQL sunucusuna erişmek için ağ protokollerini yapılandırmak gerekir. Bu, SQL Server Client Network Utility kullanılarak yapılabilir. Genel sekmesinde, SQL sunucusuna erişmek için kullanılan ağ protokollerinin bir listesini seçebilirsiniz. En hızlı ve en çok yönlü olanı TCP / IP protokolünün kullanılmasıdır. Diğer protokolleri kullanırken, örneğin Named Pipes gibi bazılarının SQL sunucusuyla iletişim kurarken ek Windows kimlik doğrulaması gerçekleştirdiğini unutmayın. Bu durumda, SQL sunucusu ile başarılı bir şekilde çalışabilmek için, uygun haklara sahip USR1CV81 kullanıcısının SQL sunucusuna sahip bilgisayarda kayıtlı olması gerekir. Bu SQL sunucusuna erişim protokolü Alias ​​sekmesinden değiştirilebilir.

makaleye ek olarak

MS SQL Server + server "1C: Enterprise 8" paketinin kendi alanında en çok talep edilen ve en sık kullanılan paket olduğuna şüphe yoktur. Her iki ürünün de anlaşılması, kalite desteği için arzu edilir. Aynı zamanda, pratikte, bir destek uzmanı genellikle ya MS SQL Server'ın yönetiminde uzmanlaşmıştır ve 1C: Enterprise 8 sunucusunun özelliklerini bilmiyor veya tersine, 1C: Enterprise 8 sunucusunun yönetiminde uzmanlaşmıştır ve bilmiyor MS SQL Server'ın özellikleri.

Bu makale hem bu hem de diğer uzmanlara yardımcı olmak için yazılmıştır, size zaman kazandırmak ve bu yazılım ürünlerini birlikte kullanırken en önemli ayrıntılara dikkatinizi çekmek için tasarlanmıştır.

Bilginin algılanmasını kolaylaştırmak için pratik vakalar, notlar ve ipuçları verilmiştir (italik olarak).

Üç bağlantı şeması

Okuyucunun zaten bildiği gibi, bu durumda veritabanı üç katmanlı bir mimariye sahiptir:

Bağlantı 1: MS SQL Server DBMS. Veritabanını "depolar" ve bakımını yapar ve sonuçta veritabanı ile her türlü işlemi gerçekleştirir. Bu nedenle, veritabanının performansı, veri okuma-yazma hızı ve paralelliği büyük ölçüde MS SQL Server'ın performansı ile belirlenir.

Bağlantı 2: Sunucu "1C: Enterprise 8". İstemciler (kullanıcılar) ve MS SQL Server arasındaki etkileşimde aracı görevi görür. Tüm istemci istekleri, onları MS SQL Server sorgu diline "çeviren", bu sorguların sonuçlarını alan ve sonuçları istemciye gönderen sunucuya gönderilir.

MS SQL'e erişmeden 1C: Enterprise 8 sunucu düzeyinde gerçekleştirilen işlemlerin yalnızca küçük bir kısmı vardır - özellikle "yönetilen kilitleri" izleme, "oturum parametreleri" okuma-yazma. Bu gibi durumlarda, bu işlemler veritabanı verileri ile değil, sunucunun yardımcı bilgileri ile gerçekleştirildiğinden VTYS'ye çağrı yapılmasına gerek yoktur.

Bağlantı 3: İstemci bölümü "1C: Enterprise 8". 1C: Enterprise 8 sunucusuyla bağlantı kurar, ondan sonuçlar alır (örneğin, veri örnekleri) ve kullanıcı arayüzünden sorumludur.

"En iyisini istedim."

1C: Enterprise 8 sunucusunu yeniden yükledikten sonra, kullanıcılar performansta keskin bir düşüşten şikayet ediyor. Yeniden yüklemekte olan 1C: Enterprise yazılım uygulama uzmanı şaşırdı - en iyisini istediğini söylüyorlar, sistemin daha hızlı çalışmaya başlaması gerekiyordu ... Durumun analizi, 1C: Enterprise 8'e çok fazla kaynak tahsis edildiğini gösterdi. sunucu: işlemler (3. maddeye bakın) rphost 15.5 GB 16 GB sunucu RAM'i aldı, sonuç olarak uyumlu MS SQL Server için pratikte kullanılabilir RAM yok.

Sonuç olarak - sürekli "takas", disk alt sisteminde gereksiz yük ve MS SQL Server'ın "hız aşırtmalı" sunucu "1C: Enterprise 8" den gelen istekleri işlemek için zamana sahip olmaması nedeniyle veritabanı işlemlerinin son derece yavaş yürütülmesi .

Ürün uyumluluğu

"1C: Enterprise 8" ile birlikte kullanılması önerilen MS SQL Server sürümleriyle ilgili güncel veriler için bağlantıyı takip edin http://v8.1c.ru/requirements/.

Bu makaleyi yazarken, 1C şirketinin geliştiricileri aşağıdaki seçenekleri önermektedir:

      1. SQL Server 2008 R2.
      2. SQL Server 2008, Service Pack 1 (SP1) gereklidir.
    3. SQL Server 2005, Service Pack 3 (SP3) gereklidir.



Teknik olarak mümkündür ancak MS SQL Server 2000 kullanılması önerilmez, Service Pack 2 (SP2) kurulumunu gerektirir ve Service Pack 4 (SP4) kurulması istenir.

Lütfen bu sürümün şu anda kullanımdan kaldırıldığını ve ayrıca x86-64 mimarisi için 64 bit sürümünün bulunmadığını unutmayın.

Not:

İşletim sisteminin ayarlarına dikkat etmek gerekiyor: örneğin M SQL Server 2008'in Server 2008R2 OS altında verimli çalışabilmesi için dengeli güç kaynağı modunu kapatıp maksimum performans moduna geçmeniz gerekiyor.

"1C: Enterprise 8" istemci-sunucu sürümünü yükleme

"1C yüklü"

Müşterilerden biri, "1C: Enterprise 8" ile çalışma deneyimi olmayan bir sistem yöneticisi tarafından "1C: Enterprise 8" yükledi. Ve ona göre "1C'yi kurdu" - kullanıcı bilgisayarlarında istemci tarafı ve sunucuda sunucu tarafı yoktu. Durumun analizi resmi netleştirdi - "1C: Enterprise 8" setinde 2 disk vardı - platformun kurulumu ve veritabanı şablonlarının kurulumu. Yönetici kurulum prosedürüne girmedi - ve yürütülebilir dosyaları değil, platform bileşenlerini değil veritabanı şablonlarını kurdu.

Tabii ki, bu, işe karşı son derece dikkatsiz bir tutumun atipik bir örneğidir.

"1C: Enterprise 8" kurulurken, aşağıdakilerin ayrı olarak kurulduğuna dikkat edilmelidir:

      Platform "1C: Enterprise 8", yürütülebilir bir uygulamadır, veritabanlarının geliştirilmesi ve işletilmesi için entegre bir ortamdır. Başladığında, iki çalışma modundan biri seçilir - "Enterprise" (kullanıcı tanımlı veritabanı kabuğu) veya "Configurator" (entegre geliştirme ortamı). Daha eksiksiz bir açıklama bağlantıda bulunabilir
      Yapılandırma şablonları "1C: Enterprise", platformun şablona dahil edilen yapının temiz veya demo veritabanını oluşturabileceği, platformun dahili formatının bir dosyasıdır. Ayrıca, güncelleme şablonunu kullanarak, halihazırda verilerle dolu olan mevcut bir veritabanının yapısını güncelleyebilirsiniz.
      Platformu kurarken, bileşen seçimine dikkat etmelisiniz:





1C: Enterprise bileşeni sunuculara kurulmamış olabilir.

Bu durumda, sunucu istemci bilgisayarlara 1C: Enterprise veritabanlarına erişim sağlayacaktır, ancak veritabanı ile doğrudan sunucudan kullanıcı modunda çalışmak mümkün olmayacaktır.

Not:

Platformun 64 bit sürümü istemci kısmını içermez. Bu nedenle kurulum sırasında 64 bit sunucu bileşenleri sunucuya ayrı olarak kurulur ve istemci uygulamasının 32 bit bileşenleri ayrı olarak kurulur.

1C: Enterprise Server bileşeni, MS SQL Server'a bağlanmak için gereklidir - bu, platformu istemci iş istasyonlarında ve MS SQL Server'da birbirine bağlayan bir uygulama sunucusudur.

Bileşeni basit bir uygulama veya sistem hizmeti modunda kurmak mümkündür ve elbette ikinci seçenek önerilir.

"Hizmet olarak" kurulduğunda, bu bileşen seçilen kullanıcı adına başlatılacak ve yürütülecektir:




Bileşen yüklendikten sonra, "sunucu aracısı", "sunucu küme yöneticisi", "sunucu çalışan işlemleri" gibi birkaç işlemi ortaya çıkarır.

Veritabanı sorguları, çalışan işlemler tarafından yürütülür ve sunucu küme yöneticisi yükü aralarında dağıtır.

"1C: Enterprise Server Administration" bileşeni kuruluysa, sunucu çalışma süreçleri yönetilebilir (ekleme, silme, RAM kullanımını sınırlandırma, birincil veya yedekleme bildirme).



Not:

Sunucunun 32 bit sürümü için, RAM'i kullanılmadan bırakmayacak şekilde çalışma süreçlerinin kurulması önerilir - her birinin RAM kullanımında, bağlı olarak 2 ila 4 GB arasında belirgin bir sınırlaması vardır. sistem yapılandırmasında.

Sunucunun 64-bit versiyonu için teorik olarak iki çalışan süreç yeterlidir - bir çalışan ve bir yedek. Bununla birlikte, pratikte, önemli (birkaç yüz) sayıda kullanıcı üzerinde bağlantıların güvenilirliğini ve kararlılığını sağlamak için daha büyük bir sayı gereklidir, birçok faktöre bağlıdır - kullanıcı sayısı, veritabanının doldurulması ve gerçekleştirilen sorguların hacmi, bu nedenle yazarlar, bu durumda işlem sayısının deneysel olarak seçilmesi gerektiğine inanmaktadır.

"Ouroboros"

1C: Enterprise 8 sunucu ayarlarının başarısız bir şekilde optimize edilmesinden sonra, kullanıcılar sistemin son derece yavaş olduğunu bildirdi ve sistem yöneticisi sunucuda sabit bir %100 CPU yükü kaydetti.

Durumun analizi, sorunun kaynağını gösterdi - kurulum sırasında, çalışan işlemler tarafından RAM kullanımı için çok küçük bir sınır belirlendi.

Ve gerçek şu ki, bu kısıtlama şu şekilde çalışıyor:

Bir sunucu kümesi yöneticisi, bir alt işlemin RAM sınırını aştığını gördüğünde, bu işlemin işi sonlandırılır, bağlantısı kesilir, yeni bir alt işlem oluşturulur ve alt işlemler arasında bağlantılar ve kullanıcı istekleri yeniden dağıtılır.

Belirlenen sınır o kadar küçüktü (300MB) ki, çalışan süreç yoğun çalışan bir kullanıcıya bile tam olarak hizmet veremiyordu - sonuç olarak, sunucu küme yöneticisi sürekli olarak çalışan süreçleri yeniden başlatıyor ve kullanıcıları yeniden bağlıyordu. Yeni bir süreç oluşturulduğunda ve buna kullanıcılar bağlandığında, RAM sınırına neredeyse anında ulaşıldı ve bir sonraki yeniden başlatmaya neden oldu. Bu, işlemci yükünün %100'ünü aldı.

1C: Enterprise Server bileşeni, istemci iş istasyonlarında gerekli değildir ve fiziksel bir güvenlik anahtarı gerektirdiği için oradan başlayamayacaktır.

Bağlı kullanıcı sayısı azsa (50'den az), uygulama sunucusu genellikle MS SQL Server'ın çalıştığı bilgisayara kurulur.

Çok sayıda kullanıcıya ve/veya büyük hacimli bilgi akışına sahip sistemler için ayrı bir kurulum ve ayrıca bir sunucu kümesi kullanılması önerilir.

1C: Enterprise Server Administration bileşeni istemciler için de faydalı olabilir - örneğin, onun yardımıyla belirli bir 1C: Enterprise sunucusuna bağlı bilgi tabanlarının bir listesini görebilirsiniz.

Sunucunun kendisine yüklenmesi şiddetle tavsiye edilir.

Erişim

Not:

Erişimin sağlanıp sağlanmadığını kontrol etmek için 1C: Enterprise sunucu yönetim yardımcı programını kullanmak yeterli değildir ve dahası, sunucunun "Ağ Komşuları"nda bulunması yeterli değildir!

Her istemcinin sunucuda kurulu veritabanında oturum açması gerekir - yalnızca bu, erişimin sağlandığına dair %100 güven verecektir.

1. Güvenlik ilkelerine bağlı olarak, MS SQL Server için Windows hesap doğrulaması veya MS SQL Server hesap doğrulaması kullanılır.




İkinci durumda, 1C: Enterprise veritabanını oluştururken, sistem MS SQL Server hesabının giriş ve şifresini soracaktır (örneğin, sa); ilk durumda, giriş ve şifre boş bırakılmalıdır:



ve adına 1C: Enterprise sunucusunun başlatıldığı sistem kullanıcısına MS SQL Server'da aşağıdaki haklar verilmelidir:

      bilgi tabanının bulunduğu veritabanının tüm hakları
      ana veritabanına erişim (genel rol)
      önerilir - bir veritabanı oluşturma hakları, aksi takdirde her yeni veritabanının önce MS SQL Sever kullanılarak oluşturulması ve ancak daha sonra 1C: Enterprise sunucusuna bağlanması gerekir
      önerilir - veritabanınızı silme hakkı



Örneğin, söz konusu kullanıcıyı önceden tanımlanmış processadmin veya sysadmin rolüne atayabilirsiniz.

Tavsiye.

Tüm kullanıcılar aynı anda çalışan veritabanına erişimi kaybettiyse, belirli bir veritabanı için ayarlanmış olanlar da dahil olmak üzere, MS SQL Server'da kullanıcının haklarını ve rollerini iki kez kontrol etmeniz gerekir, yani Kullanıcı eşlemesi:




2. 1C: Enterprise sunucusu, Microsoft Veri Erişim mekanizması aracılığıyla MS SQL Server'a erişir, bu nedenle bileşenleri kurulmalıdır ve 1C: Enterprise sunucu kullanıcısı (önceki paragrafa bakın) bunları başlatma haklarına sahip olmalıdır.

3. İstemciler ve sunucu arasındaki iletişim TCP protokolü ile desteklenir, bu nedenle bu protokolün her iki taraf tarafından da desteklenmesi gerekir. Örneğin, eşler arası bir ağ kullanılıyorsa, sunucu adı ve IP adresinin eşleşmesinde sorunlar olabilir. Bu durumda yazışmaları [C:\WINDOWS\] system32\sürücüler\vb\hosts dosyasına kaydetmelisiniz.

Tavsiye.

Ağ eşler arasıysa - sunucuyla kalıcı bir bağlantı sağlamak için bu sunucudaki klasörlerden herhangi birine erişen bir ağ sürücüsü oluşturun.

4. Named Pipes protokolü kullanılıyorsa ve MS SQL Server ve 1C: Enterprise sunucusu farklı bilgisayarlara kuruluysa, adına 1C: Enterprise sunucusunun çalıştığı kullanıcının bilgisayarın kullanıcıları listesine kaydedilmesi gerekir. hangi MS SQL Server'ın çalıştığı.

5. Bazı durumlarda, ek Windows Güvenlik Duvarı yapılandırması, yani istisnalar eklenmesi gerekebilir.

6. Bazı antivirüsler "istenmeyen" ağ trafiğini engelleyebilir, bu nedenle dışlama listelerini eklemeniz gerekebilir.

7. 1C: Enterprise 8 platformunun sürümü, istemcide ve sunucuda tamamen aynı olmalıdır.

"İkizler"

"Müşterilerden biri, her biri bir çalışan veritabanına sahip olan iki veritabanı sunucusu kullandı. Kullanıcılar - her biri iki veritabanıyla aynı anda çalıştı. Destek hizmetleri, sunucular ve istemciler üzerinde 1C: Enterprise 8 platformunu güncelledi .... Ardından şikayetler yağmaya başladı. içinde. Durumun analizi, istemciler ve sunuculardaki güncellemenin birkaç kişi tarafından yapıldığını ve yükleyicilerin aynı sürümü yüklediklerini iki kez kontrol etmediklerini gösterdi.Bu nedenle, bir sunucuda bir platform sürümü vardı, ikincisi - diğer yarısı, istemcilerin yarısı - bu sürümlerin ilki, diğer yarısı - diğeri.Her kullanıcının veritabanlarından yalnızca birine erişimi olduğu ortaya çıktı.

Sorunu hızlı bir şekilde çözmek için, her kullanıcı için her iki platform yayınını da yüklemem ve her veritabanına girmek için ayrı kısayollar oluşturmam gerekiyordu.

MS SQL Server ve veritabanının ilk ayarları

"Ve böylece işe yarıyor"

MS SQL Server, ilk kurulumun basitliği ile ayırt edilir, bu nedenle tüm yöneticiler ek yapılandırmasıyla şaşırmaz - kurulumdan sonra, varsayılan olarak, veritabanı çalışır, kullanıcılar oturum açar - iş yapılır. Bu yaklaşım hemen hemen her zaman yaklaşık bir veya iki ay sonra ve elbette aniden ve en uygunsuz anda sorunların ortaya çıkmasını gerektirir.

Örneğin, temel muhasebe amaçlıysa, vergi beyannamelerini göndermeden önce, genellikle belirli verileri acilen yeniden hesaplamak ve "yıl başından itibaren tüm sabit kıymet makbuzları" gibi büyük miktarlarda yeniden hesaplamak gerekir. Ayrıca - çalışma günü boyunca, veritabanının diğer kullanıcılarının çalışmalarını durdurmadan.

Ve elbette, şu anda, tabanın böyle bir yeniden hesaplama ile "donduğu" veya "çöktüğü" veya diğer kullanıcıların çalışmasına izin vermediği keşfedilecektir.

Bu tür "Murphy Yasası" aşağıdaki noktaların her biri için geçerlidir.

MS SQL Server'ı 1C: Enterprise için bir DBMS olarak kullanmaya başlamadan önce aşağıdakiler önerilir:

1. Maksimum paralellik derecesi parametresinin değerini 1 olarak ayarlayın.

Yani:

      sunucuya bağlandıktan sonra, içerik menüsü, Özellikler öğesi aracılığıyla sunucu özelliklerine girin
      ardından Gelişmiş sayfasını seçin ve maksimum paralellik derecesi parametresini düzenleyin






Aksi takdirde, 1C: Enterprise sunucusu tarafından oluşturulan bazı sorgular "Sorgu içi paralellik, sunucu komutunuzun (işlem kimliği #XX) kilitlenmesine neden oldu. Sorgu ipucu seçeneğini (maxdop 1) kullanarak sorguyu sorgu içi paralellik olmadan yeniden çalıştırın. )". Bu hatadan sonra, istemci tarafı genellikle çöker.

Sorgu planı, biriken istatistiklere bağlı olarak farklı şekilde oluşturulduğundan, hata kararlı bir şekilde kendini göstermeyecektir - büyük ve karmaşık sorgularda, yani en talihsiz anda kendini gösterecektir.

2. Tempdb geçici tablo veritabanını küçülten bir Bakım Planı oluşturun. Geçici tabloların veritabanı, 1C: Enterprise sunucusu tarafından her zaman otomatik olarak temizlenmez ve bazen başarısız yazılan bir sorgunun sonucu olarak, örneğin 50 GB boyutunda geçici bir tablo oluşturulabilir ve temizlenmeyebilir. Sonuç olarak, disk alanı tükenebilir ve bunun sonucunda hem istemci hem de sunucu parçaları çökebilir ve ayrıca küçük bir veri bütünlüğü ihlali riski vardır.

Yani, ihtiyacınız var:

      MS SQL Management Studio'ya gidin
      sunucuya bağlandıktan sonra "Bakım planları" bölümünü açın
      yeni bir Hizmet Planı oluşturmak (veya mevcut olanı tamamlamak),
      "Execute T-SQL Statement task" maddesini ekleyin ("Shrink database" görevinde tempdb veritabanı seçilemediğinden)




1. KULLAN
2.
3.GO
4.
5.DBCC SHRINKFILE (N "tempdev", 0, KESİNLİKLE)
6.
7.GO
8.
9.DBCC SHRINKFILE (N "templog", 0, KESİNLİKLE)
10.
11.GO

Geçici tablo veritabanının dosya adının "tempdev" olmayabileceğini unutmayın. Bu adı kontrol etmek için komut dosyasını kullanabilirsiniz.

1. tempdb'yi KULLAN
2.
3.GO
4.
5.EXEC sp_help dosyası
6.
7.GO




"Pot, kaynatma"

Pratikte tempdb'yi aşmanın ve dolayısıyla sunucuyu çökertmenin en yaygın yolu, tablolara katılırken bir koşul belirtmeyi unutmak.

Yani diyelim ki veritabanında her biri 20 bin kayıt büyüklüğünde iki tablomuz var. Diyelim ki kayıtları arasında bire bir yazışma kurulabiliyor ve her iki orijinal tablonun alanları ile 20 bin kayıt içeren geçici bir tablo oluşturan bir sorgu yazıyoruz. Ancak birleştirme koşulunu belirtmeyi unutursak, ilk tablodaki her kayıt, ikincideki her kayıtla birleşir! Yani ortaya çıkan tablo 20.000 * 20.000 = 400 milyon kayıt olacaktır. Vesaire.

3. Disk alt sistemi üzerindeki yükü azaltmak adına, mümkünse, çalışan veritabanını ve tempdb'yi, günlükleri ve sistem disk belleği dosyasını farklı fiziksel disklere yaymanız önerilir.

Yol sütununu düzenleyerek oluştururken çalışma tabanının dosyalarını depolamak için gerekli yolu ayarlamak daha iyidir:




Geçici tablo veritabanı dosyalarının fiziksel konumunu değiştirmek için ALTER DATABASE komutunu kullanın, yani MS SQL Management Studio'da aşağıdaki betiği çalıştırmanız gerekir ("Yeni sorgu" komutu)

1.Kullanıcı ustası
2.
3.GO
4.
5.ALTER VERİTABANI tempdb
6.
7.DOSYAYI DEĞİŞTİR (NAME = tempdev, DOSYAADI = "New_Drive: \ New_Directory \ tempdb.mdf")
8.
9.GO
10.
11.ALTER VERİTABANI tempdb

12.
13.DOSYA DEĞİŞTİR (NAME = templog, FILENAME = "New_Drive: \ New_Directory \ templog.ldf")
14.
15.GO

4. Çalışan veritabanının ve logunun "büyümesi" engellenmemelidir - boyut sınırı olmamalıdır, "Autobrowth" özelliği yüzde olarak ayarlanmalıdır, önerilen değer %10'dur. Aksi takdirde, veri tabanına veri ekleme, arşivden geri yükleme ve diğer işlemler makul olmayan bir şekilde uzun zaman alabilir.

Bu özelliği ayarlamak için bağlam menüsünden veritabanı özelliklerine gitmeniz, Dosyalar bölümünü seçmeniz, dosya özellikleri düzenlemesini açmanız gerekir:



5. MS SQL Server'da TCP / IP ağ protokolü desteğinin etkinleştirilmesi ve diğerlerinin devre dışı bırakılması önerilir, aksi takdirde MS SQL Server ve 1C: Enterprise sunucusunun ortak çalışması daha az kararlı olacaktır.




6. Aynı yerde - Alias ​​​​bölümünü temizleyin, çünkü kurulumu, MS SQL Server ile 1C: Enterprise sunucusu arasındaki etkileşimde hatalara yol açar.

Veritabanını çalıştırmaya başlamadan önce şunları yapmanız önerilir:

1. "1C: Enterprise"dan bir veritabanı oluştururken "tarih ofseti" 2000'i ayarlayın, aksi takdirde tarihi 01.01.1753'ten önce kaydetmeye çalışmak (insan faktörü nedeniyle mümkündür) veritabanının arızalanmasına neden olacaktır.

Dikkat! Mevcut bir veritabanı için tarih ofseti değiştirilemez!



2. Kurtarma modelini Basit olarak ayarlayın veya veritabanını günlük olarak yedekleyecek ve işlem günlüğünü (günlük dosyası) kesecek bir Bakım Planı oluşturun. Aksi takdirde, bazı işlemler sırasında işlem günlüğü (günlük dosyası) çok hızlı büyüyecektir: örneğin, veritabanı yeniden yapılandırıldığında, günlük dosyası boyutunun büyümesi veritabanının boyutunu birkaç kat aşabilir.




3. Haftada en az bir kez aşağıdaki zamanlanmış görevleri gerçekleştiren bir Bakım Planı oluşturun:

      Veritabanının yedek kopyasını oluşturma.
      Veritabanı istatistiklerini güncelleme ve prosedür önbelleğini temizleme (otomatik güncelleme istatistikleri özelliğinin prosedür önbelleğini temizlemediğini unutmayın).
      Prosedürel önbelleği temizleme - Bakım Planlarının standart işlemlerinde yer almaz, bu adım aşağıdaki içeriğe sahip bir betiğin yürütülmesi (T-SQL Bildirimi Yürüt) olarak tanımlanmalıdır:
      DBCC FREEPROCCACHE
      Veritabanı tablolarını yeniden indeksleme.






Elbette, görevlerin başarılı / başarısız tamamlanması hakkında otomatik e-posta gönderilmesini ayarlamak mantıklıdır.




Çözüm

MS SQL Server'ın ortak kullanımı ve "1C: Enterprise 8" istemci-sunucu sürümü ile bağlantılı olarak sistem yöneticileri ve "1C: Enterprise 8" uygulayıcıları için en sık zorluklara neden olan sorunlar.

Yazar, "madalyonun her iki tarafını" oldukça tutarlı ve kolay bir şekilde vurguladığını umuyor.

not Daha sık yedekleme yapın!

1C için bir sunucu, bir BT altyapısı oluştururken önemli bir teknik unsurdur. Mükemmel bir konfigürasyona sahip sunucu donanımını yeterli bir maliyetle, büyük kar marjları olmadan satmaya hazırız. Yalnızca ihtiyaçlarınızı karşılayacak uygun konfigürasyonlar. Bir istek bırakın ve kuruluşun teknik ihtiyaçlarını karşılayabilecek bir cihaz alacaksınız.

Gereksinimleri karşılayan bir konfigürasyonla her karmaşıklıkta sunucu ekipmanı sağlamaya hazırız. Uygun bir teslimat var. Moskova'da kendi kendine teslim alma mevcuttur. Genel olarak, satın almak istiyorsanız, aramanız, hesaplama formunu doldurmanız veya e-posta ile yazmanız yeterlidir. Çeşitli bileşenler, montaj seçenekleri sunuyoruz, ticari bir teklif yapacağız. Bütçe üzerine inşa edeceğiz ve en uygun 1C sunucularını toplayacağız.

Bilgi için geldiyseniz, aşağıda yer almaktadır. Bir soruya kapsamlı olmasa da hacimli bir cevap verebilen tam teşekküllü bir materyal göndermeye çalıştık. Sizi hemen uyarıyoruz, yazılımdan çok donanımla ilgili bilgiler.

  • 5-10 kullanıcı için 1C sunucusu
  • 10-20 kullanıcı için 1C sunucusu
  • 20-30 kullanıcı için 1C sunucusu
  • 30-50 kullanıcı için 1C sunucusu
  • 50-100 kullanıcı için 1C sunucusu
  • 200'den fazla kullanıcı için 1C sunucusu

Bu durumda, bireysel bir konfigürasyon gereklidir. Yük, kullanıcıların görevlerine bağlı olarak büyük ölçüde değişebileceğinden, rastgele bir yapılandırma yapmak pek mantıklı değildir. Bazı durumlarda, tek bir cihazla sınırlı olmak işe yaramaz; bir küme gereklidir. Uzmanın sizinle iletişime geçmesi ve ayrıntıları netleştirmesi için bir istek bırakın.

Herhangi bir montaj ihtiyaçlarınız için ayrı ayrı yapılandırılabilir!

Bu arada, aşağıdaki formda ön parametreler seçilebilir. Bu, uzmanların hızlı bir şekilde ticari bir teklif oluşturmasını sağlayacaktır.

1C sunucusunun bireysel bir hesaplamasını alın:

1C sunucusu nedir?

"1C: Enterprise 8.3" yazılım paketi, otomatik modda muhasebe, envanter, raporlama için bir dizi iş aracıdır. Herhangi bir faaliyet segmenti için keskinleştirme için birçok fırsat vardır. Yazılım, ayarlarda oldukça esnektir, ancak ne yazık ki çok talepkardır.

Aslında, kompleks artık her yerde kullanılıyor. Büyük kuruluşlar, bütçe kurumları, hükümet. Ve sadece Rusya'da değil, yurtdışında da.

Ürünün pazarda ortaya çıkması, ürünün yaygın olarak benimsenmesi üzerinde iyi bir etkisi olan çok uygun bir anda gerçekleşti. İlk başta, muhasebe için minimum bir araç seti vardı, yavaş yavaş yazılım geliştirildi, geliştirildi, yeni işlevler ve yetenekler eklendi.

Bugün ürün, bir işletmenin birçok yönünü otomatikleştirmek için tam teşekküllü bir araç haline geldi ve hak edilmiş bir popülerliğe sahip. Eksiklerine rağmen yazılım sürekli gelişiyor, yenilikler yapıyor ve önceki sürümlerin eksikliklerini gideriyor.

Uygulama türleri

Çoğu küçük kuruluş 1C için sunucu satın almaz. Böyle bir israfta bir anlam görmüyorlar. Sonuçta, kompleksi kişisel bir bilgisayara dağıtmak ve ardından diğer bilgisayarlara erişim vermek yeterlidir. Bu seçeneğe "Dosya Modu" denir.

Yeterli performans sağlama yeteneğine sahip değildir, yalnızca yerel bir ağda kullanım için uygundur (elbette uzaktan erişim de mevcuttur, ancak etkisizdir). Veritabanına eş zamanlı çağrı sayısı 5'i geçtiğinde ciddi şekilde yavaşlamaya başlar. Periyodik olarak donuyor. Ek olarak, veritabanındaki bir tablo için boyut sınırı 4 GB'dir; söylenmelidir ki, büyük şirketler genellikle bu tür hacimli tablolar yaparlar. Tabii ki, dosya modunun dezavantajı şu faktördür: veritabanı boyutu ne kadar yüksek olursa, donanım kaynağı gereksinimleri o kadar ciddi olur. Ne yazık ki, bu yazılımda çok sayıda insan çalışıyorsa veya büyük tablolar oluşturmanız gerekiyorsa, BT yapısını uygulamanın farklı bir yolunu seçmek daha iyidir.

Ve istemci-sunucu türünde bir yürütmede çalışan DB yönetim sistemleri kurtarmaya gelir. Sunucu 1C, aşağıdaki DBMS türlerini destekler:

    MS SQL Server, Microsoft tarafından geliştirilen bir DBMS'dir. Güvenilir, işlevsel, ancak Windows ailesinden bir işletim sistemi gerektirir. Bazı dezavantajlar var: RAM'i seviyor, tamamen kaplıyor, bu nedenle limitleri manuel olarak ayarlamanız gerekiyor, tablo dizileriyle etkileşime girerken periyodik olarak RAM sızıntıları meydana geliyor.

    PostgreSQL ücretsiz bir dağıtımdır. Yerlerde yavaş, ki bu ampirik olarak kanıtlanmıştır. Küçük bir kadro için uygun, büyük bir kadro çalışmayabilir. Ancak, eksikliklere rağmen, destek konusunda herhangi bir kısıtlama yoktur. e işlemciler ve RAM platosu yok.Ana gereksinim, sistem yöneticisinin doğrudan elleridir. Doğru yapılandırıldığında mükemmel sonuçlar gösterir.

    Oracle Database, iyi işlevselliğe sahip sürümlü bir DBMS'dir ve aynı zamanda çok çeviktir, aynı anda yazma ve okumaya izin verir. Zayıflık, RAM gereksinimidir.

    IBM DB2 Evrensel Veritabanı. Büyük dizileri işlemek için çok uygundur. Kapsamlı işlevselliğe sahiptir. Ne yazık ki, bu DBMS'nin, eski bilgisayarlarla uyumluluğu sürdürmek için gereksiz olan ve DBMS'nin etkinliğini azaltan pek çok şeyi vardır. RAM için iddiasız, ancak geçici tablolar sınırlı olduğu için. Desteklenen maksimum çekirdek sayısı, bazı kısıtlamalar getiren 16'dır.

Testler açısından en verimli DBMS, MS SQL Server, Oracle'dır. Bütçede sınırlamalar varsa PostgreSQL'de seçim durdurulmalı, ücretsiz bir DBMS'dir, ancak yalnızca hedef yazılım için yapılan sürümün çalıştığını unutmayın. IBM DB2 Universal Database, daha üretken analoglar olduğundan, ancak eski donanım ve IBM'in en iyisi.

İstemci-sunucuda ne uygulanacağı sonucuna varıyoruz uygulamak çok daha verimli... Aksi takdirde frenler ve ciddi kısıtlamalar alıyoruz. Umarım bir DBMS seçimine karar vermişizdir, ancak aslında en uygun ve popüler olanın MS SQL Server olduğunu söyleyeceğim.Söz konusu yazılım paketi tarafından en iyi şekilde desteklenir.

Ve hemen bir soruya daha cevap vereceğim. Diğer SQL yorumlayıcıları desteklenmez. En azından resmi olarak.

Buna göre, daha karmaşık hale gelecektir. Tek makineler kümelere dönüşür, personel genişler ve gruplara ayrılır. Ancak, taban şemaya benziyor. 50'nin üzerindeki kullanıcı sayısı için kesinlikle iki cihaz kullanmanız gerekecektir. Biri veritabanları için, diğeri terminal sunucusu olarak. Aksi takdirde kapasite yeterli olmayacaktır.

İnce istemciye güç sağlamak için bir terminal düğümü gerekir. Özel bir cihaz, bir bilgisayar, hatta bir akıllı telefon bile ince istemci işlevi görebilir. Buna göre tüm işlemler tek bir makinede merkezi olarak gerçekleştirilir. Bu, TC rolündeki güçlü cihazları gereksiz kılar. Yürütme talimatlarının sonuçlarını ekranda görüntülemekten sorumlu olan yeterli sayıda üretken olmayan cihaz vardır.

Veritabanları, bir seferde tüm hacmi işleyebilen ve bilgileri çok güçlü olması gereken terminal düğümüne iletebilen ekipman gerektirir, çünkü bu, uygulamaları sanallaştırmaktan ve teknik kaynaklar sağlamaktan sorumludur.

Organizasyon ne kadar büyük olursa, kullanıcı sayısı o kadar geniş, daha verimli ekipman gerekli olacaktır. Bazı durumlarda, bir kümeye ihtiyaç vardır. Maliyetler yüksek gibi görünüyor, aslında 1C ve düşük güçlü PC'ler için bir sunucu satın almak, onlarsız bir BT altyapısı kurmaya çalışmaktan daha ucuz.

Teçhizat

Peki, ne tür bir donanım uygulamamız gerekiyor?1C için sunucu ? Güzel soru, önce gereksinimleri belirleyeceğimiz parametrelere karar vermelisiniz:

    kullanıcı sayısı;

    Ses DB;

    gerekli esneklik;

    uygulama türü.

Her madde için bir soru işareti koyun. Onları cevapla. Aslında, görev böyle oluşuyor. Şimdi gezinmeye yardımcı olmaya çalışalım. Favori kullanıcılarımızla başlayalım.

SQL sorgularının sayısı, teknik bir problemin hazırlanmasında önemli bir noktadır. Her kişi veya program, belirli sayıda istek üretme yeteneğine sahiptir ve donanım kaynaklarının bir kısmını alır. Dolayısıyla 5 kullanıcı için bir yapı 10 için çalışmayabilir, 50 için gereksinimler de farklı görünecektir. Yaklaşık 100, 200 aynıdır. Tabii ki 1C ile otomatik çalışacak yazılımlar daha detaylı düşünülmesi gereken ayrı bir konu.

Şimdi ikinci nokta. Bir veritabanı var, buna göre, çalışması için gerekli miktarda kaynak verildiğinde bir yere yerleştirilmelidir. Görev sadece görünüşte kolay. Hızı ve gerekli hacmi sağlayabilecek uygun sürücüleri seçmeniz gerekecektir. Veritabanının potansiyel boyutunun tahmin edilmesi önerilir, o zaman gereksinimleri formüle etmek daha kolay olacaktır.

Arıza toleransı, kesintisiz çalışmayı sağlamak için tasarlanmıştır. Yedeklemeleri çalışır durumda tutmak için bir cihaz hakkında başkaları tarafından çoğaltılır. Hata toleransı seviyesi ne kadar yüksekse, konfigürasyon o kadar karmaşık ve pahalıdır.

Uygulama türü - aslında, onu nasıl, hangi amaçlarla kullanacağız. Karmaşık bir şey yok. Yalnızca muhasebe ise, güç daha az temel olacaktır, ancak tüm araçlar kullanılırsa, o zaman daha güçlü bir teknik gerekir.

Aksesuarlara geçelim.

İşlemci

İşlemci en az 1700 MHz'lik bir performansla, değer gereksinimlerde daha düşük olmasına rağmen, ancak NS ona odaklan, ve sonunda daha da güçlü bir işlemci satın alın. Intel Cor için ideal e i3-8100, Xeon E3-1220 v6 veya AMD Ryzen 3 1200. Elbette en çok NS verimlilik verecek Xeon, ama o hepsinden pahalı. Bu 5-10 kişilik insan ... artırmayı planlıyorsanız"kullanıcıların" çiftlik hayvanları, o zaman kesinlikle seçmeye değer Xeon.

10-20 kişi için, Intel Xeon E3-1230 v6, küçük kardeşinin aksine, daha yüksek bir saat frekansına ve çoklu iş parçacığına sahip olduğu için zaten kullanışlıdır. Çok temel olmasa da, CPU'nun daha güçlü bir büyüklük sırası olduğu ortaya çıkıyor. Daha ucuz olanlar Core i5-8500 ve AMD Ryzen 5 1500X. Ancak ikincisi Xeon ile aynı performansı gösteremeyecek. Bu yüzden ikincisini seçin.

1C için sunucu 20-50 kişi için planlanmışsa. O zaman montajın üretken bir taneye ihtiyacı var. Kullanıcı segmentindeki işlemcileri unutup sunucu segmentine bakmak daha iyidir. Yani. Burada en az 6 çekirdekli 12 iş parçacıklı Intel Xeon E5-1650 v4'e ihtiyacınız olacak ve 3.6 GHz temel frekansı oldukça iyi. AMD'den 8 çekirdekli, 16 iş parçacıklı ve 2,5 GHz temel frekanslı EPYC 7261 CPU uygundur. Tabii ki, daha düşük performans gösterecek, ancak biraz daha ucuz. Ama fazla değil.

50-100 kullanıcı için Intel'den Xeon E5-1680 v4'e bir göz atmaya değer, önceki CPU'dan belirgin şekilde daha güçlü. 8 çekirdeğe, 16 iş parçacığına ve 3.4 GHz frekansa sahiptir. 16 çekirdekli, 32 iş parçacıklı, 2,4 GHz temel frekanslı AMD EPYC 7351 de kullanılabilir. Ancak Intel'den önemli ölçüde daha kötü. Ama aynı zamanda gözle görülür şekilde daha ucuz.

Daha ciddi çözümler için çift işlemcili sistemler veya segment cihazları bile kullanabilirsiniz. Örneğin, çift işlemcili bir sistem için Xeon E5-2643 v4 idealdir. Ancak cihazları segmentlere ayırmak çok daha uygundur. Yani çözümü aynı anda iki cihaza uygulamak.

Genel olarak, 1C için sunucudaki çekirdek sayısının belirleyici bir rol oynamadığına dikkat edilmelidir. Saat hızına ve sıralı performansa daha fazla vurgu yapılmalıdır. Bu nedenle, çok çekirdekli CPU'ları güvenle atın. İncelenen yazılım paketinde, çoklu kullanım ve çoklu işleme desteği çok zayıf bir şekilde uygulanmaktadır. Çok sayıda çekirdek önemli avantajlar sağlamaz.

Depolama aygıtları

Sistemdeki darboğaz geleneksel olarak HDD'dir. Arayüzlerle başlayalım. SATA'nın yalnızca sıralı istekler için uygundur. Her türlü paralelleştirme yalnızca YAĞMA- dizi. Arayüz SAS daha iyi, 10 adede kadar bir kerelik istek, ancak sabit disklerin verimi hala arzulanan çok şey bırakıyor. en yeterli seçim - SSD. ile katı hal sürücüleri SAS, SATA'dan reddetmenizi öneririz, aynı zamanda bir seçenek ve biraz daha ucuzlar. Mükemmel bir şekilde - SSD NVMe. onlar en hızlıönerilenin ... Ama ne yazık ki çok pahalılar. Bütçeden başlayın, ancak seçim yapmanızı öneririz SSD, o zaman daha verimli bir sistem uygulanacaktır.

Veri deposu

Anakart gibi her türlü küçük şey (ha-ha, küçük şey), bileşenlerin geri kalanına bağlı olarak ek sürücüler seçmek daha iyidir. Ancak güç kaynağına özel dikkat gösterilmelidir, etiketli pahalı versiyonları almaya değer Bronz, Gümüş, Altın, Platin.İkincisi en iyisi ve en güveniliridir, birincisi daha az iyidir, ancak normal ucuz olanlardan daha iyidir.

RAID 1 veya RAID 10 (1 + 0) yaptığınızdan emin olun, ikinci seçenek çok daha verimli. Yinelenen bellek yazma sağlarlar. Yani, aynı şey aynı anda birkaç diske yazılır. Ancak bir RAID 10 oluşturmak için 4 sürücünün gerekli olduğunu unutmayın.

Ve son nokta, mutlaka kesintisiz bir güç kaynağı alın. Bir elektrik kesintisi durumunda, verileri kaydetmek ve sunucuyu dikkatli bir şekilde kapatmak için zaman olacaktır.

Hayır, belki hala önemli noktalar vardır, sadece konfigürasyon yaparken bunları öğrenin ve dikkatlice düşünün. Sistemin ciddi bir marjla yapılması gerekebilir.

kullanıcı kaynakları alır. Ancak okumak, okumaktan/yazmaktan çok daha az kaynak gerektirir. Bu nedenle, bir kullanıcı diğerlerinden daha fazla iş yükü sağlayabilir. BT altyapısını planlarken, kapasitenin uygun şekilde tahsis edilmesi için bunun da dikkate alınması gerekecektir.

Koruma. Yedekleme de kaynakları tüketir, işi aksatmamak için buna ek kaynaklar tahsis edilmelidir. Güvenlik duvarları, antivirüsler ve diğer güvenlik araçları da belirli bir miktarda güç gerektirir.

Hata toleransı. Çalışırken değiştirilebilir sürücüler veya güç kaynakları, sistem yedekliliği. Bileşenlerin hızlı değiştirilmesi imkanı. Hata toleransı ne kadar yüksek olursa, çalıştırmanın basit olma şansı o kadar düşük olur. En büyük hata toleransı kümede elde edilir.Kullanıcı sayısına göre 1C sunucusu

Bu, ekipman seçerken önemli bir parametredir. Bir konfigürasyon oluşturma sürecinde neye ihtiyacınız olabileceğine dair en azından kabaca bir fikre sahip olmak için kendinizi tanımanız önerilir.

5 kullanıcı için 1C sunucusu

5 kişi için yüksek güç gerekmez, küçük işletme yapılandırmaları uygundur. Ofis küçükse ve kompakt bir yere ihtiyacınız varsa, mini sunucu kullanabilirsiniz. . Bu seçenek, ekipmanı kompakt bir şekilde yerleştirmenize izin verecek ve nakliye için uygun olacaktır.

Böyle bir cihazın maliyeti 30.000 ruble. Yapılandırma, kural olarak, lezzetlerde farklılık göstermez. Intel Xeon E3 serisinden veya AMD Opteron'dan giriş seviyesi bir işlemci kullanılır. Bu görev için birçok hazır montaj var. Ancak ucuz cihazlar söz konusu olduğunda, katı hal sürücüleri ve pik yükler için boşluk payı yoktur.

10 kullanıcı için 1C sunucusu

10 çalışan için konfigürasyon önceki çözüme benzer, özel bir güç gerekmez, mini sunucu kullanmak yeterlidir. Ancak, bir çevrimiçi mağazadan otomatik rapor oluşturma gibi otomatik eylemler varsa, en yüksek yük dikkate alınmalıdır, o zaman yük çok daha ciddi olabilir.

Burada ayrıca Intel Xeon E3 hattından bir işlemci, örneğin model 1240 ile de elde edebilirsiniz. RAM 8 GB için yeterlidir, ancak 16 daha iyidir ve uygulamayı ve DB'yi barındırmak için bir SSD kullanmaya da değer.

20 kullanıcı için 1C sunucusu

Burada önceki sürümden daha güçlü ekipmana ihtiyacınız var. Orta ölçekli bir işletme için seçenek en uygunudur. Böyle bir sistemde SSD varsayılan olarak mevcut olmalıdır ve işlemcinin en az Intel Xeon E3-1280 v6 kullanılması önerilir. Aksi takdirde, tepe güç için bir marj olmayacaktır.

50 kullanıcı için Sunucu 1C

Bu yapılandırmada, görevlerin karmaşıklığının dikkate alınması önerilir. Ciddi bir yük oluşturmazlarsa yüksek kapasitelere gerek yoktur. Güçlü veya büyük bir veritabanı hacmi varsa, yüksek kaynak yoğunluğuna sahip ekipman gerekli olacaktır, bazı durumlarda bir cihaz kümesi gereklidir.

Genellikle bu görev için Intel Xeon E5-2643 v4 işlemcilere dayalı çift işlemcili bir sistem kurulur. Bu CPU'lardan 2'si bir uygulamanın ve hatta bir veritabanının ihtiyaçlarını karşılayabilecek kapasitededir. Ancak ideal olarak, SQL sunucusunu oluşturmak ayrı bir maliyettir.

Tabii ki, bu durumda katı hal sürücüleri artık sadece tavsiye edilmekle kalmıyor, hayati önem taşıyor, aksi takdirde disk alt sistemi bir darboğaza dönüşecektir.

100 kullanıcı için 1C sunucusu

Bu durumda, bir cihaz yeterli değildir. Genellikle, işlemleri paralel ve ortaklaşa gerçekleştirebilen bir 1C sunucu kümesi gerekir. Bireysel gelişim gereklidir.

Ancak yaklaşık yapılandırma şöyle olacaktır:

  1. Terminal uygulama sunucusu. Sistem durumu yedeklemeleri için yüksek TDW SSD uygulaması, çift güç kaynakları, disk alt sistemi barındırmak için 2 Intel Xeon Silver 4215 işlemci.

    sunucu SQL. Benzer işlemciler, yüksek DWPD'li SSD, ayrıca iki güç kaynağı ve yedekleri depolamak için RAID 1'li bir disk alt sistemi.

Bu şartlıdır, ayrıntılar nihai teknik altyapıya bağlı olacaktır.

200 kullanıcı ve daha fazlası için 1C sunucusu

Bu kadar çok sayıda kullanıcıyla, herhangi bir karmaşıklıktaki görevlerle başa çıkabilecek gelişmiş ekipmana ihtiyaç vardır. Bir önceki sürümde olduğu gibi tek cihaz yeterli olmayacak, bir kümeye ihtiyacınız var. Toplam veritabanı çağrısı sayısı ve çalışan sayısı ne kadar yüksek olursa, o kadar güçlü ekipman gerekli olacak ve buna bağlı olarak kümede daha fazla cihaz olacaktır. Evrensel çözümler yoktur, her biri ayrı ayrı yapılır.

Yaklaşık iki yıl önce, Linux platformunda 1C Enterprise sunucusu hakkında materyal yayınladık, bu konuya ilgi hala harika. Aynı zamanda, çok şey değişti, 1C platformu hareketsiz durmuyor ve çoğu zaman uygulama, talimatların basit tekrarının ötesine geçiyor. Bu şaşırtıcı değil, 1C Enterprise sunucusu karmaşık bir üründür, bu nedenle konuyu daha derin bir şekilde incelemeyi amaçlayan bu makale dizisini başlatmaya karar verdik.

Fareyi alıp sunucu odasına gitmeden önce, 1C Enterprise sunucusunun yapısı ve bireysel bileşenlerinin amacı hakkında bir fikre sahip olmak için gerekli minimum bilgiye açıkça hakim olmalısınız. Uygulama sırasındaki sorunların çoğu, 1C Enterprise sunucusunun, tüm bileşenlerin bir geliştirici tarafından bilinen kurnaz bir şekilde birbirine bağlandığı bir tür monolitik oluşum olarak algılanmasından kaynaklanmaktadır. Ancak bu böyle değil ve bugün sunucumuzun nelerden oluştuğunu ve hepsinin birbiriyle nasıl çalıştığını anlayacağız.

Aşağıda tartışılacak olan şeyin aşırı önemini bir kez daha vurgulamak istiyorum. Bu bilgi olmadan, darboğazların teşhis edilmesi ve üretkenliğin arttırılması bir yana, kararlı bir çalışma sağlamak sorunlu olacaktır. Sonuç olarak, klasik bir resim elde edebilirsiniz: donanım güçlü görünüyor, her şey talimatlara göre yapıldı, ancak yavaşlıyor. Ne yazık ki, yeni başlayanlar için talimatların çoğu (bizimkiler dahil), tam olarak ne yapıldığına ve neden yapıldığına odaklanmadan yalnızca nasıl yapılacağı hakkında bilgi içerir. Bu nedenle gelişmeye başlayacağız.

1C Enterprise'ın istemci-sunucu sürümü, aşağıdakileri içeren üç seviyeli bir yapıdır ("üç bağlantı" olarak adlandırılır): bir istemci, bir 1C Enterprise sunucusu ve bir DBMS sunucusu. En iyi sonucu elde etmek için kabul edilebilir herhangi bir kombinasyonda birleştirilebilen tamamen bağımsız bileşenlerdir. Aşağıdaki diyagramı göz önünde bulundurun:

İstemcilerle başlayalım, platformun mevcut sürümü (8.2), üç tür istemcinin kullanımını sağlar. Onlara daha yakından bakalım.

şişman müşteri

Bu klasik bir 1C istemci uygulamasıdır; platform 8.2'nin piyasaya sürülmesinden önce, mevcut tek istemci türüydü. Kalın istemcinin şeması aşağıdaki gibidir: istemci uygulaması 1C sunucusundan veri ister, ardından bunları veritabanından ister ve üzerinde işlendiği istemciye geri aktarır. Gördüğünüz gibi, bu şema optimal değil: 1C sunucusu aslında istemci ile veritabanı arasında sadece bir ara katmandır, tüm hesaplamalar istemcide yapılır. Bu, istemci bilgisayarlara artan gereksinimler getirir. sunucunun bilgi işlem gücü kullanılmaz. Açıkça anlaşılmalıdır ki, kalın istemci modunda, istemci-sunucu sürümüne geçişten performans artışı elde edemezsiniz, hatta belki de tam tersi.

Zayıf müşteri

8.2 platformu için ana istemci uygulaması türü olarak adlandırılabilir, teoride, pratikte her şey o kadar düzgün değildir ve buna daha sonra geri döneceğiz. Operasyonunun şeması temelde farklıdır: müşteri, bunları veritabanından alan 1C sunucusundan veri ister, müşteriye hesaplamaların sonucunu işler ve verir. Bu durumda, ana bilgi işlem yükü sunucuya düşer, bu nedenle istemci bilgisayar ve istemciden sunucuya giden kanal için özel bir gereksinim yoktur.

Ayrıca bir ince istemci hem yerel ağda TCP/IP protokolü üzerinden hem de İnternet üzerinden HTTP üzerinden çalışabilir. Bu, başka bir aracı gerektirir - istemci isteklerini 1C sunucusuna ileten bir web sunucusu, web sunucusunda veri işleme yapılmaz, yalnızca bir aktarım olarak kullanılır. İnce istemcinin avantajları açıktır, güçlü bir sunucunun varlığında programla çalışmayı önemli ölçüde hızlandırmasına izin verir, ağ trafiği de önemli ölçüde azalır, bu da ofis ağları için çok önemlidir.

Web istemcisi

Varlığı, mantıksal olarak bir ince istemcinin bazı özelliklerinden kaynaklanır, aslında, tüm istekler sunucu tarafından işleniyorsa, aktarım HTTP ise, neden iş için bir tarayıcı kullanmıyorsunuz? Web istemcisinin çalışma şeması ince istemciden farklı değildir, ancak bugün ince istemci tarafından desteklenen tüm işlevler web istemcisinde uygulanmaz ve düzgün çalışmaz. Bu kısmen yapılandırmada düzeltilebilir, kısmen tarayıcıya bilgi görüntüleme mekanizması kısıtlamalar getirir. Ancak 1C'nin bir web istemcisi var ve çalışıyor ve kimse sizi (yine teoride) bir tabletle sahilde yatarken programda çalışmaktan rahatsız etmiyor.

Şimdi bir varil baldaki merhemdeki bir sinek hakkında. İnce ve web istemci modunda normal çalışma için, yapılandırmanın yönetilen uygulama modunda çalışması ve bu moddaki tüm işlevleri desteklemesi gerekir. Yönetilen uygulama modu, 8.2 platformu için ana moddur ve harici olanlar da dahil olmak üzere öncekinden oldukça farklıdır. Görsel olarak yönlendirilen uygulama, sekmeler ve köprüler içeren yeni arayüzü ile ayırt edilebilir:

En azından, özellikle klasik arayüzle karşılaştırıldığında olağandışıdır, ancak yeni arayüzü gördüğünüzde sevinmek için acele etmeyin, görünüme ek olarak, konfigürasyon sunucuda tüm işlevlerinin yürütülmesini desteklemelidir, olabilir İnce ve web istemci modunda tüm olasılıkların mevcut olmayacağı ortaya çıktı.

Bugün, yönetilen uygulama modunda tipik yapılandırmaların yalnızca bir kısmı çalışır, örneğin: Küçük bir şirketin yönetimi, Ticaret yönetimi 11, Perakende 2 ve Maaş ve personel yönetimi. Bu çözümler yeni platformun tüm avantajlarından yararlanabilir. Enterprise Accounting 2.0, yönetilen uygulama modunu kullanmaz ve ince istemcilerde ve web istemcilerinde çalışmaz; aynı durum, "Şömine" vb. gibi birçok üçüncü taraf çözümü için de geçerlidir.

sonuçlar

Mümkün olduğunda ince istemci kullanmalısınız, çünkü bu, tüm hesaplamaları sunucu tarafına kaydırmanıza ve yavaş kanallarda bile rahatça çalışmanıza olanak tanır. internet yoluyla. Konfigüratör modunda çalışmanın yalnızca, henüz yönetilen uygulama moduna aktarılmamış konfigürasyonlarla çalışmak için kullanılması gereken yoğun bir istemci aracılığıyla mümkün olduğu unutulmamalıdır.

Web istemcisi, örneğin bir iş gezisinde başka birinin bilgisayarından ince bir tane kullanmanın mümkün olmadığı durumlarda kullanılmalı ve bazı işlevlerin yokluğuna veya yanlış çalışmasına hazırlıklı olmalısınız.

1C sunucu kümesi

İstemcilerle ilgilendikten sonra, sunuculara geçelim. Sistem üç tip sunucunun kullanımını sağlar: Sunucu 1C, DBMS sunucusu ve web sunucusu. Bu sunucuların birbirinden tamamen bağımsız olduğunu anlamak önemlidir, bu sistem esnekliği sağlar ve bilgi işlem kaynaklarının rasyonel kullanımına izin verir.

Ayrıca sistem herhangi bir platform şartı getirmemektedir. Hem Windows hem de Linux sunucularını paylaşabilirsiniz, Apache ve IIS bir web sunucusu olarak kullanılabilir, PostgreSQL, MS SQL Server, IBM DB2 ve Oracle DBMS'den desteklenir. Bu nedenle, hiç kimse bir Linux platformunda çalışan bir 1C sunucusunun Windows Server ve IIS çalıştıran bir veritabanı sunucusuyla birlikte çalışacağı ve bunun tersi olduğu bir şema oluşturmak için sizi rahatsız etmez. Ayrıca, farklı sunucularda farklı veritabanlarına sahip birkaç DBMS sunucusunu (web sunucularının yanı sıra) kullanabilirsiniz.

Bu yaklaşım, mevcut ihtiyaçlara göre mevcut konfigürasyonu esnek bir şekilde birleştirmenize, genişletmenize ve değiştirmenize olanak tanırken, son kullanıcı için her şey mümkün olduğunca şeffaf olacaktır. Örneğin, istemci ayarlarını etkilemeden sunucu ayarlarında yalnızca veritabanına bağlanma parametrelerini değiştirerek kaynak yoğun bir IS'yi ayrı bir DBMS sunucusuna taşıyabilirsiniz.

Ve son olarak, en ilginç şey: 1C Enterprise sunucularından oluşan bir küme. Evet, doğru, tek bir sunucu değil, bir sunucu kümesi. Genellikle burası, özellikle yalnızca bir sunucu varsa, karışıklığın başladığı yerdir. Bununla birlikte, bir sunucu kümesi kavramının öncelikle mantıklı olduğunu hesaba katarsak her şey yerine oturur, ancak bu yaklaşım, performansını veya hata toleransını artırarak şemayı kolayca ölçeklendirmenize olanak tanır.

Herhangi bir küme, 1C Enterprise Central sunucusundan ve çalışan sunuculardan oluşur. En basit yapılandırmasında, aynı fiziksel sunucu olacaktır. Ancak gerekirse, yükü merkezi sunucu tarafından dengelenecek ek çalışan sunucular ekleyebiliriz. Bu, kullanıcıların sistemin bilgi işlem gücünü hızlı ve şeffaf bir şekilde artırmalarına ve hata toleransını artırmalarına olanak tanır. Küme ayrıca platform homojenliği için gereksinimler getirmez; hem Windows hem de Linux sunucularını içerebilir.

Yukarıdakilerden hangi sonuçlar çıkarılabilir? İlk olarak, 1C Enterprise istemci-sunucu sistemi çok esnektir ve en uygun sonucu elde etmek için mevcut bilgi işlem kaynaklarını en uygun şekilde kullanmanıza olanak tanır. Hangi konfigürasyonun seçileceği, çözümleri için tahsis edilen belirli görevlere ve fonlara bağlıdır.

Örneğin, hafif bir yükünüz varsa ve yoğun bir istemci ve yönetilen uygulama modunu desteklemeyen bir yapılandırma kullanıyorsanız, çok savurgan olduğu için 1C sunucu kümesini ve DBMS sunucusunu tek bir fiziksel sunucuda birleştirmek mantıklıdır. istemci ve veritabanı arasındaki katman için ayrı bir makine tahsis etmek.

Tersine, ince istemci modunda yönetilen bir uygulama kullanırken, DBMS sunucusunu ve sunucu kümesini, her biri kendi görevi için optimize edilecek farklı sunuculara ayırmak daha iyidir.