Manajer untuk setiap layanan 1c 8.3 mengapa. Kapasitas memori

Beberapa proses pekerja di server yang sama memungkinkan penggunaan jumlah RAM dan sumber daya prosesor secara efisien untuk mengeksekusi permintaan, serta menghubungkan sesi klien ke proses pekerja lain saat yang saat ini "macet".
Program "Server Agent" (ragent) bertanggung jawab untuk memahami apa yang berjalan di server tertentu. Menghentikan agen server akan membuat server tidak tersedia untuk penggunaan cluster. Agen menyimpan informasinya dalam file srvribrg.lst.

"Manajer Server" (rmngr) memiliki informasi tentang basis kerja, proses kerja yang terlibat. Ini menyimpan informasi ini dalam file 1CV8Reg.lst. Menghentikan manajer server dapat menyebabkan restart aplikasi klien jika berhasil restart manajer atau berhenti total dari server kerja dari seluruh cluster.

1C: Enterprise memungkinkan pembuatan beberapa cluster independen di satu server. Masing-masing diidentifikasi dalam jaringan dengan "port IP" unik dan nomor unik dalam file layanan. Cluster pertama mendapatkan port 1541 secara default.

Snap-in Enterprise Server digunakan untuk mengelola cluster.
Anda dapat terhubung ke server dengan nama server atau alamat IP.

Agen server

Agen server "tahu" tentang semua cluster yang berjalan di server. Informasi ini disimpan dalam file srvribrg.lst dengan daftar cluster dan daftar administrator. Port utama agen adalah 1540. Hanya satu agen yang dapat diluncurkan di setiap server Work, melayani semua kemungkinan cluster di server ini.

Mari kita lihat lebih dekat properti cluster

Mulai ulang interval

Parameter ini memulai ulang proses kerja server 1C pada nilai yang ditentukan dalam hitungan detik. Biasanya digunakan pada server aplikasi yang memiliki 32x sistem pembuangan, karena kapasitas memori terbatas hingga ~ 3,7 GB jika sistem operasi 64-bit, dan server aplikasi 32x. Jika OS menggunakan arsitektur 32-bit, maka total konsumsi memori dari proses pekerja adalah ~ 1,7 GB. Dan pengguna sering dapat menerima pesan kesalahan seperti "Memori tidak cukup di server 1C Enterprise". Cara termudah untuk menghindari kesalahan ini adalah memulai kembali proses pekerja, misalnya 86400 detik (1 hari). Ketika parameter diubah, hitungan mundur dimulai dari awal layanan server aplikasi 1C.

Kapasitas memori

Memulai ulang alur kerja ketika ambang batas tertentu tercapai memori yang terisi alur kerja dalam kilobyte.

Memori Melebihi Interval

Ini berarti bahwa jika selama jumlah detik yang ditentukan memori terlampaui, ditentukan dalam parameter "ukuran memori yang diizinkan", maka server 1C akan memutuskan untuk memulai kembali proses kerja.

Toleransi kesalahan server

Dihitung sebagai berikut. Kami memiliki panggilan server yang dapat dilihat di log teknologi oleh acara "CALL" dan juga ada berbagai pengecualian yang dapat dilihat di log teknologi oleh acara EXCP. Platform menghitung rasio peristiwa ini. Diasumsikan bahwa peristiwa-peristiwa ini harus kira-kira sama. Jika, dalam alur kerja apa pun, rasio ini melebihi rasio peristiwa ini di alur kerja lain dengan jumlah yang signifikan, maka alur kerja tersebut dianggap bermasalah. Nilai ini diatur dalam parameter ini. Nilai yang disarankan adalah 50.

Memaksa menghentikan proses masalah

Jika kami mengaktifkan parameter ini, maka sesuai dengan parameter "penyimpangan yang diizinkan dari jumlah kesalahan server", proses masalah akan dihentikan. Jika parameter dinonaktifkan, platform menampilkan peristiwa log teknologi "ATTN", yang menunjukkan proses masalah.

Hentikan proses yang dinonaktifkan setelah

Jika salah satu parameter "interval mulai ulang" atau "ukuran memori yang diizinkan" dipicu, maka saat alur kerja dimulai ulang, itu mungkin "jatuh". Jika klien tidak menghubungi server selama restart (idle), maka pada panggilan berikutnya akan dengan lancar beralih ke proses pekerja baru. Jika klien menghubungi server pada saat memulai ulang alur kerja, maka di kasus ini itu akan menerima pesan kesalahan dan keluar. Untuk mencegah hal ini terjadi, Anda harus menetapkan nilai parameter ini dalam hitungan detik. Biasanya 120 detik sudah cukup. Selama waktu ini, alur kerja akan memiliki waktu untuk memproses permintaan pelanggan saat ini dan mentransfernya ke alur kerja baru. Klien aktif tersebut, yang prosesnya tidak punya waktu untuk memproses, dihentikan dan klien mungkin menerima kesalahan.

Tingkat toleransi kesalahan

Pengaturan ini hidup dengan sendirinya, terlepas dari jumlah server pusat. Tingkat toleransi kesalahan dapat berupa nilai berapa pun. Misalnya Failover Level = 1, maka setiap sesi pengguna digandakan. Jika tingkat toleransi kesalahan adalah 2, maka setiap sesi dikalikan dengan 3. Beban di server juga meningkat. Ketika tingkat toleransi kesalahan berubah, jika kita memiliki server pusat, itu akan mereplikasi ke setiap server pusat: "registri cluster", "layanan penguncian cluster". Ada juga replikasi ke server lain dari layanan seperti "layanan data sesi", "layanan cap waktu operasi", "layanan penguncian objek", "layanan lisensi", "layanan penomoran". Yang paling sulit adalah "layanan data sesi".

Muat mode berbagi

Dengan kinerja. Ketika koneksi klien terhubung, itu akan terhubung ke server tempat proses pekerja dengan kinerja yang lebih tersedia hadir. Kinerja yang tersedia diatur dalam properti alur kerja:


Performa yang tersedia pada level 1C dihitung sebagai berikut: panggilan server referensi dilakukan ke semua proses pekerja setiap 10 menit sekali dan waktu panggilan ini diukur. Jumlah yang dihasilkan dibagi 10.000 (sepuluh ribu) dan waktu referensi dihitung oleh mekanisme server aplikasi. Jika kinerja alur kerja menjadi 25% lebih rendah dari yang lain, koneksi dari alur kerja ini mulai masuk ke alur kerja lain hingga semua koneksi hilang.

Prioritas memori. Koneksi pengguna akan dibuat ke server produksi yang memiliki lebih banyak memori yang tersedia.

Manajer klaster

Manajer klaster bertanggung jawab atas pengoperasian klaster. Setiap cluster memiliki Manajer sendiri. Manajer menyimpan informasi tentang cluster di file 1CV8Reg.lst (registri cluster). Setiap Manajer Cluster juga memiliki port sendiri di Server Produksi. Untuk cluster pertama, port Manajer default adalah 1541. Port ini ditampilkan di snap-in 1C: Enterprise Server di cabang Cluster, mengidentifikasi cluster.
Manajer menerima permintaan dari sisi klien 1C: Enterprise dan memutuskan Alur Kerja mana yang akan memberikan permintaan layanan ini.

Manajer menggunakan port layanan untuk berinteraksi dengan proses pekerja.

Proses kerja

Alur Kerja bertanggung jawab untuk "layanan pelanggan". Mungkin ada beberapa proses kerja dalam klaster 1C: Enterprise 8. Jumlah alur kerja tidak dibuat secara manual, tetapi dihitung berdasarkan deskripsi persyaratan tugas untuk toleransi kesalahan dan keandalan. Manajer server memutuskan proses pekerja mana yang akan melayani koneksi klien. Untuk koneksi klien, Alur kerja ditetapkan dengan rentang port IP 1560 - 1591 secara default. Selain itu, setiap Alur kerja ditetapkan Port Layanan untuk komunikasi dengan manajer klaster.

Pengaturan server yang berfungsi, menurut dokumentasi 1C, hanya dapat diubah dalam versi CORP dari server aplikasi 1C. Faktanya, pengaturan berfungsi baik dalam versi CORP dan dalam versi PROF. Jika pengaturan ini digunakan dalam versi PROF, itu akan menjadi pelanggaran terhadap perjanjian lisensi.

Memori alur kerja maksimum

Parameter ini dengan sendirinya tidak membatasi apa pun. Ini bekerja bersama dengan parameter "konsumsi memori yang aman dalam satu panggilan". Mari kita bayangkan bahwa semua proses kerja kita telah mencapai kira-kira konsumsi memori dari nilai parameter ini yang diberikan. Dan sekarang pengguna ingin melakukan panggilan server yang ingin menghabiskan banyak memori. Segera setelah panggilan server melebihi jumlah memori yang ditentukan dalam parameter ini dengan jumlah memori dari parameter "konsumsi memori aman per panggilan", yaitu pengguna tertentu akan menerima kesalahan dalam bentuk: "melebihi konsumsi memori yang aman untuk satu panggilan klien-server". Hal ini diperlukan untuk mencegah salah satu pengguna dari "menghancurkan" server yang berfungsi. Nilai parameter 0 sama dengan 80% dari memori yang terpasang di server 1C.

Konsumsi memori yang aman dalam satu panggilan

Nilai 0 (default) adalah 5% dari nilai untuk “Memori Alur Kerja Maksimum”. Bisa -1. Ini berarti bahwa setiap panggilan klien-server yang telah melebihi nilai yang ditentukan untuk parameter "memori alur kerja maksimum".

Jumlah memori alur kerja hingga server dianggap produktif

Berarti jika nilai ini disetel dan proses pekerja telah menggunakan jumlah memori yang ditentukan dalam parameter ini, server akan terus bekerja, tetapi tidak akan menerima koneksi baru hingga memori kosong.

Jumlah IB per proses

Penurunan kinerja dimungkinkan ketika ada banyak infobase dan satu alur kerja. Oleh karena itu, dengan parameter ini, dimungkinkan untuk mengurangi jumlah basis per proses. Jika Anda menetapkan nilai ke 1 (dalam banyak kasus ini bekerja cukup optimal), maka proses pekerja baru (rphost) akan dibuat untuk setiap basis info.

Jumlah koneksi per proses

Sama seperti parameter di atas, hanya tergantung pada jumlah koneksi per proses. Nilai 0 berarti hanya akan ada satu proses pekerja di setiap server produksi.

Manajer untuk setiap layanan

Setiap server produksi pusat memiliki manajer umum cluster dengan layanan khusus:


Mereka dieksekusi oleh layanan rmngr tunggal. Mari kita bayangkan bahwa layanan ini mulai menghabiskan banyak memori atau membuang-buang sumber daya prosesor. Biasanya ada beberapa tersangka tipikal. Tetapi tiba-tiba Anda berada di "jalan buntu" dan tidak dapat memahami apa yang sebenarnya memuat layanan, Anda dapat mencentang kotak "manajer untuk setiap layanan", layanan akan dibagi menjadi 21 proses (ini adalah jumlah layanan di cluster utama Pengelola). Dan karenanya, dengan PID proses, dimungkinkan untuk menghitung layanan mana yang memuat sistem.

Server pusat

Ini adalah server yang menyimpan registri cluster di file 1CV8Clst.lst. File tersebut berisi daftar database, daftar administrator cluster, daftar persyaratan untuk menetapkan fungsionalitas, daftar profil keamanan, secara umum, semua pengaturan cluster. File ini hanya ada di mana kotak centang "server pusat" dicentang. Mungkin ada beberapa server pusat. Juga di server pusat ada layanan seperti "layanan penguncian cluster", "layanan konfigurasi cluster". Selama setidaknya satu server pusat aktif dan berjalan, cluster aktif dan berjalan. Segera setelah server pusat terbaru gagal, cluster menjadi tidak beroperasi terlepas dari pengaturan failover.

Persyaratan penugasan fungsionalitas

Cluster server 1C Enterprise 8.3 menyediakan satu set: Kegunaan(disebut objek kebutuhan) yang distribusinya antara server produksi dalam cluster dapat dikontrol. Misalnya, Anda dapat menentukan bahwa semua pekerjaan latar belakang di kluster akan berjalan di server produksi yang dipilih. Untuk menempatkan koneksi atau layanan cluster di server yang berfungsi, perlu untuk membuat permintaan untuk menetapkan fungsionalitas untuk server kerja yang dipilih. Persyaratan ini menentukan kemampuan atau ketidakmampuan server tertentu untuk melakukan pekerjaan tertentu. Mari kita pertimbangkan secara lebih rinci apa persyaratan untuk menetapkan fungsionalitas.

Memigrasikan koneksi khusus

Katakanlah kita ingin koneksi pengguna bekerja di server produksi # 1, tetapi jika server itu mati, kita ingin mereka pergi ke server produksi lain # 2

Untuk melakukan ini, kita perlu membuat persyaratan untuk menetapkan fungsionalitas di server # 1:


Di server No. 2, daftarkan pengaturan yang sama, tetapi ubah prioritas:


Pentingnya prioritas dibalik. Artinya, prioritas 1 lebih tinggi dari prioritas 2.

Keluarkan server produksi dari cluster

Kami hanya dapat menghapus server yang berfungsi dari cluster dengan menghapusnya dari daftar, tetapi dalam kasus ini, semua pengguna akan dikeluarkan dari sistem. Untuk membuat kesimpulan lebih mudah, Anda dapat melakukan hal berikut:

Buat persyaratan untuk menetapkan fungsionalitas dengan pengaturan berikut:


Pengaturan ini berarti bahwa tidak akan ada koneksi baru ke server yang berfungsi ini. Para pengguna yang bekerja, mereka akan terus bekerja, tetapi secara bertahap akan pindah ke server lain yang berfungsi.

Layanan perizinan

Keluarkan layanan lisensi ke server terpisah... Hal baiknya adalah bahwa lisensi perangkat lunak dapat diikat ke komputer tertentu. Mari buat persyaratan untuk menetapkan fungsionalitas dengan pengaturan berikut:


Pekerjaan latar belakang

Dengan dirilisnya platform 8.3.7, tugas latar belakang dibagi menjadi 2 kelompok:

1. Pekerjaan latar belakang dipanggil dari kode konfigurasi

2. Tugas terjadwal

Oleh karena itu, beberapa pengaturan untuk menetapkan fungsionalitas diperlukan:



1. Untuk membuat pekerjaan latar belakang berjalan dengan cepat, Anda perlu menambahkan data sesi untuk pekerjaan latar belakang dan terjadwal



Setelah penciptaan persyaratan yang diperlukan tujuan fungsionalitas, Anda perlu menerapkannya:


Parsial - aplikasi yang tidak akan mengganggu pengalaman pengguna

Penuh - Aplikasi yang dapat mengganggu pengalaman pengguna.

Dalam praktiknya, saya belum pernah menemukan bahwa, ketika diterapkan sepenuhnya, itu mengganggu pengalaman pengguna atau yang serupa. Tapi apa pun mungkin, ingatlah. Setelah aplikasi, memulai ulang layanan server aplikasi 1C tidak diperlukan.

Anda selalu dapat menghubungi spesialis untuk mengoptimalkan pekerjaan 1C, pengalaman praktis kami akan menghemat waktu Anda.

Harap dicatat bahwa pengaturan cluster bertanggung jawab atas pengaturan semua server milik cluster yang dikonfigurasi. Cluster menyiratkan pengoperasian beberapa server fisik atau virtual yang bekerja dengan basis info yang sama.

Mulai ulang interval- bertanggung jawab atas frekuensi memulai kembali proses pekerja klaster. Parameter ini harus diatur ketika server berjalan sepanjang waktu. Direkomendasikan untuk mengasosiasikan frekuensi restart dengan siklus teknologi dari infobase cluster. Ini biasanya setiap 24 jam (86400 detik). Seperti yang Anda ketahui, proses kerja server 1C memproses dan menyimpan data kerja.

Restart otomatis dirancang di platform "untuk meminimalkan efek negatif dari fragmentasi dan kebocoran memori dalam proses pekerja." Bahkan ada informasi di ITS tentang cara mengatur restart proses kerja sesuai dengan parameter lain (ukuran memori, sumber daya yang ditempati, dll.).

Kapasitas memori- melindungi server 1C dari penggunaan memori yang berlebihan. Ketika proses melebihi volume ini dalam interval melebihi volume yang diizinkan, proses dimulai kembali. Ini dapat dihitung sebagai jumlah maksimum memori yang digunakan oleh proses rphost selama periode beban server puncak. Perlu juga mengatur interval kecil untuk melebihi volume yang diizinkan.

Toleransi kesalahan server... Platform menghitung jumlah rata-rata kesalahan server sehubungan dengan jumlah hit server dalam 5 menit. Jika rasio ini melebihi nilai yang diizinkan, maka alur kerja dianggap "bermasalah" dan dapat dihentikan oleh sistem jika flag disetel "Menghentikan proses masalah secara paksa."

Hentikan proses yang dinonaktifkan di. Jika ukuran memori yang diizinkan terlampaui, alur kerja tidak langsung berakhir, tetapi menjadi "mati", sehingga ada waktu untuk "mentransfer" data kerja tanpa kehilangannya ke alur kerja baru yang sedang berjalan. Jika parameter ini ditentukan, maka proses "dinonaktifkan" akan berakhir dalam hal apa pun setelah waktu ini. Jika ada proses kerja "beku" di server 1C, maka parameter ini dapat diatur selama 2-5 menit.
Pengaturan ini diatur untuk setiap server 1C satu per satu.

Memori alur kerja maksimum Apakah volumenya? kumulatif memori yang dapat ditempati oleh proses pekerja (rphost) pada cluster saat ini. Jika parameter diatur ke "0", maka itu menempati 80% dari RAM server. "-1" - tidak ada batas. Ketika DBMS dan server 1C berjalan di server yang sama, mereka perlu berbagi RAM. Jika selama operasi ditemukan bahwa server DBMS tidak memiliki cukup memori, maka Anda dapat membatasi memori yang dialokasikan ke server 1C menggunakan parameter ini. Jika DBMS dan 1C dibagi oleh server, maka masuk akal untuk menghitung parameter ini menggunakan rumus:

"Volume maks" = "Jumlah RAM" - " RAM OS";

"OS RAM" dihitung berdasarkan 1 GB untuk setiap 16 GB RAM server

Konsumsi memori yang aman dalam satu panggilan... Secara umum, panggilan individu tidak boleh mengambil semua RAM yang dialokasikan untuk proses pekerja. Jika parameter diatur ke "0", maka volume aliran aman akan sama dengan 5% dari " Ukuran memori maksimum dari proses kerja "... "-1" - tidak ada batasan, yang sangat tidak disarankan. Dalam kebanyakan kasus, lebih baik membiarkan parameter ini "0".

Menggunakan parameter "Jumlah IB per proses" dan "Jumlah koneksi per proses" Anda dapat mengelola distribusi pekerjaan server 1C berdasarkan alur kerja. Misalnya, jalankan "rphost" terpisah untuk setiap basis info, sehingga jika terjadi "kecelakaan" proses, hanya pengguna satu basis data yang terputus. Parameter ini harus dipilih secara individual untuk setiap konfigurasi server.

Pembatasan penggunaan RAM oleh server DBMS- Server MS SQL DBMS memiliki satu fitur yang luar biasa - ia suka memuat database yang secara aktif bekerja ke dalam RAM sepenuhnya. Jika dia tidak dibatasi, maka dia akan mengambil semua RAM yang dia bisa.

  • Jika 1C: Enterprise server diinstal bersama dengan Microsoft SQL Server, maka ambang batas atas memori harus dikurangi dengan jumlah yang cukup agar server 1C dapat berfungsi.
  • Jika hanya DBMS yang berjalan di server, maka untuk DBMS sesuai dengan rumus:

"Memori DBMS" = "RAM Bersama" - "RAM OS";

Berbagi memori- banyak yang diketahui tentang parameter ini, tetapi masih terjadi bahwa orang melupakannya. Kami mengaturnya ke "1" jika server 1C dan DBMS bekerja pada fisik yang sama atau server virtual... Omong-omong, ini bekerja mulai dari platform 8.2.17.

Derajat paralelisme maksimum- menentukan berapa banyak prosesor yang digunakan saat menjalankan satu permintaan. DBMS memparalelkan pengambilan data saat melakukan kueri kompleks pada banyak utas. Untuk 1C, disarankan untuk menyetelnya ke "1", yaitu, satu aliran.

File database yang diperluas secara otomatis- kami menentukan langkah dalam MB, yang dengannya file database "diperluas". Jika langkahnya kecil, maka dengan pertumbuhan database yang aktif, ekstensi yang sering akan menyebabkan beban tambahan pada sistem disk. Lebih baik set ke 500 - 1000 MB.

Mengindeks ulang dan mendefrag indeks- disarankan untuk melakukan defragmentasi/reindexing minimal seminggu sekali. Reindex mengunci tabel, jadi yang terbaik adalah dijalankan di luar jam kerja atau periode puncak. Tidak masuk akal untuk melakukan defragmentasi setelah membangun kembali indeks (re-indexing). Menurut rekomendasi Microsoft, defragmentasi dilakukan jika fragmentasi indeks tidak melebihi 30%. Jika lebih tinggi, disarankan untuk mengindeks ulang.

Rencana daya- dalam pengaturan daya sistem operasi ditetapkan untuk kinerja tinggi.

Server 8.3 dicirikan oleh kode internal yang didesain ulang, meskipun "dari luar" tampaknya kode tersebut sedikit dimodifikasi 8.2.

Server menjadi lebih "dapat dikonfigurasi secara otomatis", beberapa parameter seperti jumlah proses pekerja tidak lagi dibuat secara manual, tetapi dihitung berdasarkan deskripsi persyaratan tugas untuk toleransi kesalahan dan keandalan.

Mekanisme penyeimbangan beban telah dikembangkan, yang dapat digunakan baik untuk meningkatkan kinerja sistem secara keseluruhan, atau untuk menggunakan mode "penghematan memori" baru, yang memungkinkannya bekerja "dengan memori terbatas" jika konfigurasi yang digunakan "suka untuk menggerogoti ingatan".

Stabilitas saat menggunakan memori dalam jumlah besar akan ditentukan oleh parameter baru dari server yang berfungsi.


Parameter "konsumsi memori aman per panggilan" sangat menarik. Bagi mereka yang memiliki gagasan yang buruk tentang apa itu - lebih baik tidak berlatih secara "produktif". Parameter "Memori alur kerja maksimum" memungkinkan untuk tidak merusak seluruh alur kerja jika terjadi "melimpah", tetapi hanya satu sesi "dengan pecundang". "Jumlah memori proses pekerja hingga server dianggap produktif" memungkinkan koneksi baru diblokir segera setelah ambang batas memori ini dilewati.

Saya merekomendasikan mengisolasi alur kerja berdasarkan infobase, misalnya, tentukan parameter "Jumlah keamanan informasi per proses = 1". Dengan beberapa pangkalan yang sangat sarat, ini akan mengurangi pengaruh timbal balik baik dari segi keandalan dan kinerja.

Kontribusi terpisah untuk stabilitas sistem dibuat oleh "pengeluaran" lisensi / kunci. Dalam 8.3 menjadi mungkin untuk menggunakan "manajer lisensi perangkat lunak"Mengingatkan pengelola" aladin ". Tujuannya agar bisa membawa kunci mobil terpisah.

Ini diimplementasikan sebagai "layanan" lain di manajer cluster. Anda dapat menggunakan, misalnya, laptop "gratis". Tambahkan ke cluster 1c 8.3, buat pengelola terpisah dengan layanan "layanan lisensi" di dalamnya. Anda dapat mencolokkan kunci pengait perangkat keras ke laptop, atau mengaktifkan lisensi perangkat lunak.

Yang paling menarik bagi programmer adalah "Persyaratan untuk menetapkan fungsionalitas".

Jadi pada laptop dengan kunci keamanan, agar tidak meluncurkan pengguna di server cluster, Anda perlu menambahkan "persyaratan" untuk objek persyaratan "Koneksi klien ke keamanan informasi" - "Jangan tetapkan", mis. melarang alur kerja server ini menangani koneksi klien.

Yang lebih menarik adalah kemampuan untuk menjalankan "pekerjaan latar belakang saja" di server produksi di kluster tanpa sesi pengguna. Dengan demikian, tugas (kode) dengan beban tinggi dapat ditransfer ke mesin terpisah. Selain itu, satu tugas latar belakang "menutup bulan" dimungkinkan melalui " parameter tambahan»Jalankan di satu komputer, dan pekerjaan latar belakang" Pembaruan indeks teks lengkap "di komputer lain. Spesifikasi terjadi dengan menentukan" Nilai parameter tambahan ". Misalnya, jika Anda menetapkan BackgroundJob.CommonModule sebagai nilai, Anda dapat membatasi server yang bekerja di kluster hanya untuk pekerjaan latar belakang dengan konten apa pun. Nilai BackgroundJob.CommonModule ..- akan menunjukkan kode tertentu.

Jelas bahwa tidak ada gunanya menceritakan kembali dokumentasi. Tetapi jika seseorang menyarankan masuk akal, saya akan memperluas artikel.

Pertama-tama, setelah menginstal cluster 1C, sebelumnya perlu membuat alur kerja. Ternyata, proses cluster mulai dibuat secara otomatis, tergantung pada beban database.

Uji coba tugas latar belakang database utama membuat cluster 1C membebani rphost.exe tanpa henti dan rphost.exe tambahan tidak ingin dibuat dengan cara apa pun. Setelah mengobrak-abrik pengaturan, semuanya menjadi jelas.

Memori alur kerja maksimum Adalah jumlah memori yang dapat digunakan oleh proses pekerja bersama-sama. Anda harus sangat berhati-hati saat mengatur parameter, itu diukur dalam byte. Jika Anda menetapkan nilai yang salah (tidak cukup untuk pekerjaan pengguna normal), pengguna akan menerima kesalahan "Tidak cukup" memori bebas di server 1C”. Anda juga bisa mendapatkan kesalahan ini ketika kuota memori di server 1C telah kedaluwarsa.

Konsumsi memori yang aman dalam satu panggilan- memungkinkan Anda untuk mengontrol konsumsi memori selama panggilan server, diukur dalam byte. Jika panggilan menggunakan lebih banyak memori daripada yang seharusnya, panggilan ini akan diselesaikan dalam cluster 1C tanpa memulai ulang proses pekerja (rphost.exe). Dengan demikian, "pecundang" yang melakukan panggilan server akan kehilangan sesi dengan basis 1C tanpa mempengaruhi pekerjaan pengguna lain.

dalam satu GB - 1073741824 Bytes, oleh karena itu dalam 2 GB - 2147483648 Bytes

Jumlah memori proses kerja, hingga server dianggap produktif - jika parameter ini terlampaui, server di cluster 1C akan berhenti menerima koneksi baru.

Jumlah IB per proses- memungkinkan Anda untuk mengisolasi basis informasi untuk alur kerja. Secara default, cluster 1C saat ini disetel ke “ 8 “, Tetapi selama beberapa jam operasi, server itu sendiri sangat tidak stabil, sesi pengguna membeku. Setelah mengisolasi setiap infobase (nilai - "1"), masalahnya hilang.

Jumlah koneksi per proses- nilai defaultnya adalah “ 128 “. Karena basis data saat ini memiliki beban tugas latar belakang yang sangat besar (perhitungan logistik, analisis harga, analisis pesaing, dll.), diputuskan untuk mengurangi jumlahnya menjadi “25”.

Pengaturan cluster 1C sendiri telah sedikit berubah:

Tingkat toleransi kesalahan- ini adalah jumlah server yang berfungsi yang dapat gagal pada saat yang sama, dan ini tidak akan menyebabkan penghentian darurat pengguna. Layanan redundan dimulai secara otomatis dalam jumlah yang diperlukan untuk memberikan toleransi kesalahan yang ditentukan. Secara real time, layanan aktif direplikasi ke layanan standby.

Muat mode berbagi- ada dua opsi untuk parameter: "Prioritas kinerja" - lebih banyak memori server dihabiskan dan kinerja lebih tinggi, "Prioritas memori" - Cluster 1C menghemat memori server.

Server 8.3 dicirikan oleh kode internal yang didesain ulang, meskipun "dari luar" tampaknya kode tersebut sedikit dimodifikasi 8.2.

Server menjadi lebih "dapat dikonfigurasi secara otomatis", beberapa parameter seperti jumlah proses pekerja tidak lagi dibuat secara manual, tetapi dihitung berdasarkan deskripsi persyaratan tugas untuk toleransi kesalahan dan keandalan.

Ini mengurangi kemungkinan kesalahan konfigurasi server dan menurunkan persyaratan keterampilan administrator.

Mekanisme penyeimbangan beban telah dikembangkan, yang dapat digunakan untuk meningkatkan kinerja sistem secara keseluruhan, atau menggunakan mode "penghematan memori" baru, yang memungkinkannya bekerja "dengan memori terbatas" jika digunakan konfigurasi "suka menggerogoti memori".

Stabilitas saat menggunakan memori dalam jumlah besar akan ditentukan oleh parameter baru dari server yang berfungsi.

Parameter "konsumsi memori yang aman per panggilan" sangat menarik. Bagi mereka yang memiliki gagasan yang buruk tentang apa itu - lebih baik tidak berlatih secara "produktif". Parameter "Ukuran memori maksimum dari proses pekerja" memungkinkan, jika "meluap", tidak menutup seluruh alur kerja, tetapi hanya satu sesi "dengan pecundang". "Jumlah memori proses pekerja hingga server dianggap produktif" memungkinkan koneksi baru diblokir segera setelah ambang batas memori ini dilewati.

Saya merekomendasikan mengisolasi alur kerja berdasarkan infobase, misalnya, tentukan parameter "Jumlah keamanan informasi per proses = 1". Dengan beberapa pangkalan yang sangat sarat, ini akan mengurangi pengaruh timbal balik baik dari segi keandalan dan kinerja.

Kontribusi terpisah untuk stabilitas sistem dibuat oleh "pengeluaran" lisensi / kunci. Pada 8.3, menjadi mungkin untuk menggunakan "manajer lisensi perangkat lunak" yang menyerupai manajer "aladin". Tujuannya agar bisa membawa kunci mobil terpisah.

Ini diimplementasikan sebagai "layanan" lain di manajer cluster. Anda dapat menggunakan, misalnya, laptop "gratis". Tambahkan ke cluster 1c 8.3, buat pengelola terpisah dengan layanan "layanan lisensi" di dalamnya. Anda dapat mencolokkan kunci pengait perangkat keras ke laptop, atau mengaktifkan lisensi perangkat lunak.

Yang paling menarik bagi programmer adalah "Persyaratan untuk menetapkan fungsionalitas".

Persyaratan untuk fungsionalitas yang ditetapkan 1c

Jadi pada laptop dengan kunci keamanan, agar tidak meluncurkan pengguna di server cluster, Anda perlu menambahkan "persyaratan" untuk objek persyaratan "Koneksi klien ke keamanan informasi" - "Jangan tetapkan", mis. mencegah proses pekerja server ini memproses koneksi klien.

Yang lebih menarik adalah kemampuan untuk menjalankan "pekerjaan latar belakang saja" di server produksi di kluster tanpa sesi pengguna. Dengan demikian, tugas (kode) dengan beban tinggi dapat ditransfer ke mesin terpisah. Selain itu, Anda dapat menjalankan satu tugas latar belakang "menutup bulan" melalui "Nilai parameter tambahan" di satu komputer, dan tugas latar belakang "Segarkan indeks teks lengkap" di komputer lain. Spesifikasi terjadi melalui indikasi " Nilai parameter tambahan". Misalnya, jika Anda menetapkan BackgroundJob.CommonModule sebagai nilai, Anda dapat membatasi server yang bekerja di kluster hanya untuk pekerjaan latar belakang dengan konten apa pun. Nilai BackgroundJob.CommonModule.<Имя модуля>.<Имя метода>- akan menunjukkan kode tertentu.

Baru kemarin semuanya diperbarui perangkat lunak server. Mari kita sentuh, mungkin, fitur paling menarik dan baru dari cluster server 1C: Enterprise 8.3.

Cara mengatur cluster server untuk 1C: Enterprise 8.2 dapat ditemukan di yang sebelumnya. Saya tidak akan fokus pada beberapa poin, mereka sudah dijelaskan sebelumnya.

JADI APA YANG BERUBAH DI CLUSTER "1C: Enterprise 8.3":

Pertama-tama, setelah menginstal cluster 1C: Enterprise 8.3, sebelumnya perlu membuat alur kerja. Ternyata, proses cluster sekarang dibuat secara otomatis tergantung pada beban pada sistem akuntansi.

Uji coba tugas latar belakang database utama membuat klaster 1C: Enterprise 8.3 tanpa henti membebani rphost.exe dan tambahan rphost.exe tidak ingin diciptakan dengan cara apapun. Setelah mengobrak-abrik pengaturan, semuanya menjadi jelas.

Memori alur kerja maksimum adalah jumlah memori yang dapat digunakan oleh proses pekerja bersama-sama. Anda harus sangat berhati-hati saat mengatur parameter, itu diukur dalam byte... Jika Anda menetapkan nilai yang salah (tidak cukup untuk pekerjaan pengguna normal), pengguna akan menerima pesan kesalahan "Memori tidak cukup pada 1C: Server perusahaan". Anda juga bisa mendapatkan kesalahan ini ketika kuota memori di 1C: Server perusahaan telah kedaluwarsa.

Konsumsi memori yang aman dalam satu panggilan- memungkinkan Anda untuk mengontrol konsumsi memori selama panggilan server, diukur dalam byte... Jika panggilan menggunakan lebih banyak memori daripada yang seharusnya, panggilan ini akan diselesaikan dalam cluster 1C tanpa memulai ulang alur kerja ( rphost.exe). Dengan demikian, "pecundang" yang melakukan panggilan server akan kehilangan sesi database tanpa mempengaruhi pekerjaan pengguna lain.

Jumlah memori alur kerja hingga server dianggap produktif- jika parameter ini terlampaui, server di cluster 1C: Enterprise 8.3 akan berhenti menerima koneksi baru.

Jumlah IB per proses- memungkinkan Anda untuk mengisolasi basis informasi untuk alur kerja. Secara default, cluster saat ini "1C: Enterprise 8.3" disetel ke "8", tetapi selama beberapa jam operasi server tidak stabil, sesi pengguna dibekukan. Setelah isolasi setiap infobase (nilai - "1") masalahnya hilang.

Jumlah koneksi per proses- nilai default adalah "128". Karena basis data saat ini memiliki beban tugas latar belakang yang sangat besar (perhitungan logistik, analisis daftar harga, analisis pesaing, dll.), diputuskan untuk mengurangi jumlahnya menjadi "25".

Pengaturan cluster 1C: Enterprise 8.3 sendiri juga sedikit berubah:


Tingkat toleransi kesalahan- ini adalah jumlah server yang berfungsi yang dapat gagal pada saat yang sama, dan ini tidak akan menyebabkan penghentian darurat pengguna. Layanan redundan dimulai secara otomatis dalam jumlah yang diperlukan untuk memberikan toleransi kesalahan yang ditentukan. Secara real time, layanan aktif direplikasi ke layanan standby.

Muat mode berbagi- ada dua opsi untuk parameter: "Prioritas untuk kinerja" - lebih banyak memori server dihabiskan dan kinerja lebih tinggi, "Prioritas untuk memori" - cluster "1C: Enterprise 8.3" menghemat memori server.

Alih-alih kata penutup. Cluster "1C: Enterprise 8.3" bekerja lebih cepat dan lebih andal, membuat sesi pengguna dengan basis informasi terjadi berkali-kali lebih cepat, antarmuka dalam mode kompatibilitas dengan "1C: Enterprise 8.2.16", bisa dikatakan, terbang. Tentu saja, ada beberapa nuansa, tetapi ke mana kita bisa pergi tanpanya. Semoga berhasil dalam menyiapkan klaster 1C: Enterprise 8.3 yang baru.