1c expert on technological issues tickets. Methods for solving technological issues of large implementations

The 1C company, together with certified 1C:Technology Experts and other technical specialists, conducts Knowledge base on technological issues major implementations . The knowledge base contains materials in the following areas:

    Methods and technologies aimed at improving the technological quality of large-scale implementations

    Problems and solutions

The 1C company also publishes other materials on administration of 1C:Enterprise 8, development methods, optimization methods, equipment selection and other issues of large implementations.

1C:Technology expert

The implementation of corporate information systems places increased demands on the qualifications of technical specialists. For successful implementation Experience and knowledge are required that will allow:

    avoid mistakes at the stage of finalizing the code of the application solution;

    select equipment that provides sufficient system performance;

    provide full load testing of the system;

    carry out successful implementation;

    correctly administer the operating system;

    monitor and analyze the performance of a running system;

    solve technological problems that may arise during the implementation and operation of the system.

The company "1C" carries out certification of technical specialists according to their competencies "1C: Expert on technological issues". Specialists with this certificate have the experience and knowledge necessary to successfully resolve any technological issues of large-scale implementation.

A mandatory part of certification is the participation of a specialist in training "Increasing system performance and scalability". Main objectives of the training:

    exchange experience and knowledge;

    obtain the theoretical knowledge necessary to solve problems of corporate implementations;

    acquire practical skills in solving these problems;

    master methods and technologies designed to solve these problems.

The company "1C" publishes in public access list of organizations with certified specialists on their staff.

Enterprise Technology Support Centers

The company "1C" provides paid services for technological supervision of projects for implementation and support of corporate information systems on the platform 1C:Enterprise 8.

All work is carried out with the participation of 1C Company developers, who:

    Provide all necessary techniques and tools;

    Monitor the correctness of the technical decisions made;

    Provide prompt assistance in solving complex technical problems;

    Monitor the progress of work and the results obtained.

Knowledge base on technological issues of large implementations on the 1c:Enterprise 8 platform

1C company, jointly with certified “1C:Technology Experts” and other technical specialists, maintains and regularly updates a knowledge base on technological issues of major implementations. The knowledge base is the main source of information on these issues and, as it develops, will contain comprehensive information on:

    Methods and technologies aimed at improving the technological quality of large-scale implementations

    Problems and solutions

The knowledge base on technological issues of large implementations is a constantly updated information resource. Follow the knowledge base updates. On the developer forum The section "Technological Issues of Major Implementations" provides up-to-date information on all updates. In this section you can discuss topics for future articles.

Security questions:

1. What does the 1C:Enterprise 8 software system include?

2. Areas of application of “1C:Enterprise 8”.

3. Typical applied solutions on the 1C:Enterprise 8 platform and their purpose.

4. Architecture of the 1C:Enterprise 8 platform (version 8.3.1).

5. Selecting an automation system on the 1C:Enterprise 8 platform. Standardization of standard solutions.

6. Architectural and technological solutions in the 1C:Enterprise 8 platform that increase system performance.

7. Composition and purpose of “1C: Corporate tool package”.

8. Use of the “Corporate Tool Package”.

During the course you will receive systematic knowledge on the following issues:

1. Introductory part

What knowledge and skills does this course provide?
- Why is it important to be able to design, maintain and accelerate large 1C systems yourself, and not rely on others
- What does the 1C:Expert certificate give to its owner?
- Useful materials for preparing for the exam and simply improving your level

2. How to objectively evaluate how fast the system works

What is Performance Index (Apdex)
- Typical BSP tools for calculating the performance index
- Export Apdex to other systems
- How to quickly create a list of key operations and target time
- How Apdex helps with performance optimization
Example from a real project

3. General approaches to performance analysis

Where to start
- Which methods are applicable in which case?
- Acceleration of a single operation (document, report)
- Standard performance measurement: pitfalls, when measurement is enough and when it is not
- Acceleration of the whole system: tools, approaches, pitfalls
- Differences in methods for accelerating individual operations and the entire system, typical mistakes newcomers
- How to assemble from separate pieces big picture- what happens to the system

4. Equipment performance

Hardware performance counters on Windows and their interpretation
- Interactive task: setting up and using hardware load analysis tools on Windows
- Interactive task: using Linux commands to estimate hardware load
- MS SQL Server performance counters and their interpretation
- Interactive task: setting up and using tools for MS SQL load analysis
- How to find out who is loading the CPU, disks and inefficiently using memory on a DBMS server
- How to find out who is loading the CPU, disks and inefficiently using memory on a 1C:Enterprise server
- Virtual machine counters using VMWare as an example
- Features of operating virtual machines using VMWare as an example
- In what cases is it advisable to upgrade equipment?
- Impact of power saving settings on performance
- Exotic cases of increased equipment load from real systems
- Example of investigating performance issues with real system

What is a database index
- When indexes speed up queries and why
- What indexes are there and which ones are supported by the 1C platform
- Why is a clustered index good?
- Benefits of a covering index
- When indexes are useless
- Indexing best practices and why the query optimizer might make a different decision than you
- Interactive task on using indexes
- How to find out which indexes are missing
- How to find out which indexes are superfluous
- Features of indexes created by the platform. Pitfalls.
- Why index fragmentation reduces performance and how to fix it

6. How to get information about requests performed by 1C

Technology magazine
- Tracing
- Monitoring systems using the example of "1C:Performance Management Center"
- What is a query plan and how to get it using tracing, TJ and CPU

7. Technology magazine 1C

How to set up a 1C (TZ) technological journal
- Useful settings technological magazine (TJ)
- How to analyze TJ logs: techniques and techniques
- Regular expressions for analyzing logs or why you will start to lose the habit of monitoring systems
- Normalization of requests from TZ
- Analysis of several scripts for analysis of technical characteristics (exceptional situations, server calls, long queries)
- How does TF affect performance, features of collecting and analyzing TF on large systems
- Examples of investigating problems with real projects: we analyze the property characteristics quickly and for free

8. Request tracing and DMV for request analysis

How to get a trace in MS SQL Server
- How to analyze a trace
- Trace analysis techniques
- How to find a request from a trace in 1C code
- Normalization of queries from trace
- Examples of using the DMV to obtain information about requests
- How to configure Postgres logs to collect information about running queries
- Impact of tracing on performance
- Examples of investigating problems from real projects using tracing
- Interactive task: setting up tracing for MS SQL Server
- Interactive task: setting up Postrges logs to collect information about requests

9. Query plan

Why do you need a query plan?
- What are the different query plans?
- How to get a query plan in MS SQL Server and Postgres
- Basic query plan operators using MS SQL Server as an example
- Signs of suboptimal plans
- The influence of DBMS statistics on the quality of the query plan
- Update DBMS statistics for MS SQL Server and Postgres
- Parallelism in MS SQL Server and Postgres: impact on performance and pitfalls
- Interactive task: analysis of query plans from real large (highly loaded) 1C systems

10. How to write queries that run quickly

Typical reasons for suboptimal query performance
- Query optimization techniques
- Features of query optimization for large (highly loaded) 1C systems
- Parsing a script for analyzing technical documentation to search for queries that load the system the most
- Overview of the capabilities of "1C: Performance Management Center" (PCC) for query analysis

11. Practical problem (cross-cutting example):

Analysis of hardware load and MS SQL Server
- search in several ways and optimize the query that loads the system the most

12. Interactive task: analysis of a non-optimal query

13. Transactions in 1C

What is a transaction
- How to start a transaction in 1C explicitly
- Examples where the platform implicitly starts a transaction
- What is meant by the statement “1C does not support nested transactions”
- Transaction properties and their decryption
- Protection against dirty reading in DBMS - "blocker" and DBMS - "versioner"
- How the MVCC mechanism is implemented in MS SQL Server, Postgres and Oracle
- What are isolation and blocking levels used for?
- Isolation levels in different versions of the 1C platform
- How to know that an action is being performed in a transaction

14. MS SQL and WAL transaction log for Postgres, backups and DBMS fault tolerance

Why do you need MS SQL and WAL transaction log for Postgres?
- MS SQL Server database recovery model
- Settings for WAL Postgres that affect performance and reliability
- Backup features for different MS SQL Server database recovery models
- Backup features for Postgres
- Overview of fault tolerance mechanisms for MS SQL Server and Postrges
- Dividing the read load into two databases using AlwaysOn

15. Transactional locks

When is blocking justified and when is it considered excessive?
- Difference between timeout on blocking and deadlock
- What is automatic and controlled blocking mode
- Why you don’t need “Automatic and managed” locking mode or how to quickly switch the configuration to managed locks
- Compatibility of MS SQL Server locks and 1C managed locks
- Conflicts on 1C managed locks: how to reproduce and how to investigate
- MS SQL Server lock conflicts: how to reproduce and how to investigate
- Locks in Postgres
- All the ways to find out who blocked whom and find the reason
- Interactive task: typical development mistakes that lead to lock conflicts and how to avoid them
- Overview of the capabilities of "1C: Performance Management Center" (PCC) for analyzing lock conflicts
- Practical task: investigating timeout and deadlock using "1C: Performance Management Center" (PCC)
- Interactive task: analysis of the causes of locking conflicts from a real 1C system

16. Other types of blocking

Object locks
- Latches (PAGELATCH, PAGEIOLATCH)

17. How to increase the reliability of a 1C cluster

1C cluster capabilities for load distribution
- 1C cluster capabilities to protect against excessive memory consumption by the cluster process
- 1C cluster capabilities to protect against excessive memory and CPU consumption by server calls
- 1C cluster monitoring system
- Sessions and connections for thin and thick clients

18. 1C licenses

Typical problems with 1C hardware keys and ways to solve them
- Features of operation software licenses 1C

19. Load testing

Why do you need load testing and how does it differ from functional testing?
- What is a realistic load test
- Overview of configuration options "1C: Test Center"
- Example of a simple load test
- Features of preparing, developing and running large load tests (up to several thousand users)
- How to find testing equipment, licenses for system software and the 1C:Enterprise platform

20. Review of the capabilities of the monitoring system "1C: Quality Control Center" for monitoring the productive environment


System requirements for the course

    At least 25 GB of free space to be able to deploy a test database

  • CPU Core i5 (4 cores) or higher

Required software:

    OS Windows 7 and higher, or Windows Sever 2008 R2 and higher

    Client-server version 1C:Enterprise 8.3 (32x or 64x, server+client part)

    MS SQL Server 2012 or higher, Developer Edition or higher. Management Studio and Profiler must be installed.

    The Test1CProf database has been deployed and connected in the client-server version ( Check with the organizers for the current link to the database dt file). The volume of the test database in expanded form is 18 GB

    The launch of routine tasks must be blocked in the Test1CProf database

    You must have rights to create a database in the client-server version, restart services: cluster administrator login/password, password for sa, password to start the 1C:Enterprise server service and MS SQL

    Two monitors - for viewing training and execution practical problems

    Installed "1C:Performance Management Center"

    Installed Linux Ubuntu current version (You can install Linux on the free virtualization environment Oracle Virtual Box)

    Installed Git Bash or Cygwin

"The reference book is devoted to the theory and practice of solving problems of performance and parallelism in information systems on the 1C:Enterprise 8 platform. The work provides theoretical information necessary to understand the basic mechanisms that ensure the functioning of the 1C:Enterprise 8 platform and the DBMS as a multi-level multi-user system. In addition, an algorithm for the main business process of problem investigation is given and practical techniques for solving specific application problems are provided: the deployment, configuration and use of tools for reproduction and investigation are described, as well as possible ways fixes applied when the causes of problems are found.

SpoilerTarget">Spoiler


Book structure:

Introduction. Let's go up to the porch, open the door

Basic approach to problem solving

Theory

Key Operations

APDEX Method

Critical errors

System Availability Calculation

Routine work

Transactions. Transaction isolation levels. Explicit and implicit transactions. Nested transactions. Rollback transactions

DBMS data locks. Blocking levels. Lock compatibility

Information about blocking "1C"

Locking errors: timeouts and deadlocks

Block escalation

Information about parallel operations with data of different types

Information about data placement. How to obtain this information

Information about database indexes. The method for obtaining this information. Clustered and non-clustered indexes

Query plans. Getting a query plan in the SQL profiler. Plan operators most important to us

Instructions

How to set up the collection of information about equipment load and how to evaluate this load

Finding out the disk speed

Setting up automatic restart of the 1C server

Routine SQL Server operations and setting them up automatically

How to enable the 1C technological log and how it can be disassembled

General approach to analyzing the 1C technology journal

Performance measurements

Network requirements. How to check the network

Collecting dump statistics (general principle)

Working with the Central Control Commission. General principles, standard features, initial setup

Working with the Central Control Commission. Setting up your own control procedures

Working in the profiler. How to get a query plan

Working in the profiler. How to get duration amount

Working in the profiler. How to get a deadlock graph

Working in the profiler. How to get information about block escalations

Working with the MCC. General principles, standard capabilities, general sequence of work, setup wizard, rights table

Working with the MCC. Getting the query plan

Working with the MCC. Deadlock analysis

Working with the MCC. Regulatory monitoring

Working in the configurator. Correcting queries

Load tests

General diagnostics business process

Working in the configurator. Editing the lock timeout setting

Methods and additional information

Review of paid and free tools

Requirements from the ITS disk used when checking on 1C: Compatible!, affecting performance

Things that always make sense to clarify for a general understanding of the picture

Design and technical solutions leading to problems

Configuration Practices that Cause Problems

Daily monitoring

Additional notes

Economic sense of accounting automation and productivity optimization

About 24x7 availability mode

About the equipment calculation method

About working in various DBMSs

Conclusion. About guarantees of system performance after several years

I started preparing for the 1C:Expert exam in 2015. The company lacked this certificate for the ERP Center status. Preparation began with the 1C: Professional test and Filippov’s book “Handbook of S: Expert on Technological Issues.”
Test 1C: Professional was successfully passed. The book was read, “in general” understood... It became clear what was next - you need to go to the training exam, make an attempt to participate in the training - in order to at least get an idea of ​​​​what is happening there, what the requirements are and how to prepare further.
The queue to sign up for the training was already long in 2015; we managed to sign up for December.
Of course, the first time there was no talk of successfully passing - but the training itself is very useful in communicating with 1C experts, where you can see with your own eyes the heights to which you need to strive.

After the first attempt, it became clear that you can sign up for the next attempt in six months. Therefore, I signed up immediately, and tried to spend the remaining six months in preparation. A separate test server with MS SQL + Postgre was set up, on which you can run various experiments to your heart’s content.
The second attempt was a little better than the first - but the level of theoretical knowledge obtained from books/articles kb.1c.ru, without thorough practical study of all the details - was still clearly not sufficient. And it became clear that even in six months, without a clear lesson plan, by bouncing back and forth, on a whim, it is unlikely that you will be able to master the subject area at the proper level on your own.

Therefore, after the second attempt, I signed up for the video training “Acceleration and Optimization” by Andrey Burmistrov. Before that, he took an express course on “Optimization,” but for the 1C: Expert exam, just an express course is not enough, of course.
By the third attempt, I watched the training video (the volume is quite large and detailed), but I did not pay enough attention to the practical tasks, which probably let me down. Therefore, I decided to prepare more thoroughly for the fourth attempt. I completed all the tasks in the training, and then began to generate and solve problems for myself, similar to those given in the training in 1C.

Shortly before the 4th attempt to pass the exam Training center 1C invited me to a video training 1C:Expert, which is conducted by Viktor Bogachev, one of the experts taking the exam. By that time, I was just running out of imagination on the topic of practical tasks - and I decided that external training would help me complete what I had not worked on before, and I was not mistaken.
Bogachev’s training takes place in person, in the form of a webinar, in the evenings after work. Yes, this requires some kind of mobilization - but before the 1C: Expert exam, mobilization is exactly what you need! And I also think it was useful for my four children to see how dad locks himself in his room in the evenings and studies all week in the summer after work - don’t complain about being tired at school - this is just the beginning :).
Bogachev’s training turned out to be very useful, because... It has a practical orientation, it is possible to ask questions in the chat during training, and take notes. In addition, Victor answers letters and reveals some exclusive details that cannot be found in other sources, but are useful to know during the exam. For example, parsing a 1C technical magazine using regular expressions is real IT poetry, but in relation to 1C there is very little information; Morozov’s article appeared on kb only in May of this year.
As a result of passing the 1C webinar, I finally got it into my head that I couldn’t figure it out before, and in July I went to take the 1C:Expert exam for the 4th time. On the train, I re-read the notes from Bogachev’s webinar and, as a result, correctly answered the examiner’s questions and the additional questions posed.
As a result of this conversation, colleagues decided to issue a certificate without participating in all 4 days of training. The description of the exam says that in the second and subsequent attempts, with the proper level of knowledge, it is possible to receive a certificate based on the exam results on the 1st day of the training, this is true.

Regarding content subject area, with which 1C:Expert works, from the point of view of an ordinary 1C nickname, it may look like some kind of “wild”. But from the point of view of operating a large system, this is not a “wild” at all, but the same daily habitual work as the balance sheet in 1C: Accounting. For example, if you are given the task “Create a balance sheet for account 01 for such and such a year” - in 1C: Accounting, any specialist will do this with two clicks of the mouse, without hesitation. In the same way, in the 1C:Expert exam, for example, they can show you 5 lines of code and give you the task of doing a deadlock with two mouse clicks. If you have done deadlocks, you can easily do this; if not, it is recommended to “do it manually” before the 1C:Expert exam.

I would like to thank all my fellow course authors who participated in my preparation. Without this training I would not have achieved this result.
I wish all specialists preparing to take the 1C:Expert exam patience and perseverance in mastering new knowledge and successfully passing this difficult exam!

Handbook 1C: Expert on technological issues. Edition 2 is devoted to the theory and practice of solving problems of performance and concurrency in information systems on the 1C:Enterprise 8 platform.

The work provides theoretical information necessary to understand the basic mechanisms that ensure the functioning of the 1C:Enterprise 8 platform and the DBMS as a multi-level, multi-user system. In addition, an algorithm is given for the basic business process of investigating problems and practical techniques for solving specific application problems are provided: the deployment, configuration and use of tools for reproduction and investigation are described, as well as possible correction methods used when the causes of problems are found.

When working on the publication, the experience of preparing employees for certification “1C: Expert on Technological Issues” was taken into account: the book contains the materials and methods necessary to prepare for certification.

The book also includes techniques developed by the author over long term solving practical problems of performance and concurrency. To a large extent, these are methods of prevention, regular monitoring and early diagnosis.

In the second edition, inaccuracies in the theoretical part and in the instructions have been corrected, and new materials have been added.

The book is intended for “1C: Experts on technological issues”, for employees of the customer’s IT services (IT directors, system administrators, methodologists, DBMS administrators), as well as for employees of 1C: Franchisees: implementers, developers, project managers.

Chapter 1. Let's go up to the porch and open the door

Chapter 2. Basic approach to problem solving

  • We only work with problems
  • How to measure, how to get numbers
  • How the system works
  • Business process for solving problems for key operations

Chapter 3. Theory

  • Key Operations
  • APDEX Method
  • Critical errors
  • System Availability Calculation
  • Regulatory work of the transaction. Rollback transactions
  • DBMS data locks. Blocking levels. Lock compatibility
  • About managed and object locks
  • Locking errors: timeouts and deadlocks
  • Block escalation
  • Information about parallel operations with data of different types
    • General information
    • Bottlenecks
    • Real transactions Write + Write
    • Real Transactions Read + Write
  • Information about data placement. How to obtain this information
  • Information about database indexes. How to obtain this information: Clustered and nonclustered indexes
    • Important addition on indexes for 8.3 without compatibility mode
  • Query plans. Getting a query plan in the SQL profiler. Plan operators most important to us
    • Getting a query plan in the SQL profiler
    • The most important operators for us
  • Features of reading in the object model
  • Working with SQL Server. Where are temporary tables stored? Where are Snapshots stored for the Read Committed Snapshot isolation level?
  • Working with SQL Server. Where to place the bases. How to transfer databases
  • Working with SQL Server. Differences between full (FULL) and simple (SIMPLE) database recovery models. Features of transaction log compression
  • Working with SQL Server. Setting up and using backups of various types

Chapter 4. Instructions

  • How to set up the collection of information about equipment load and how to evaluate this load
  • Finding out the disk speed
  • Setting up automatic restart of the 1C server
  • Routine SQL Server operations and setting them up automatically
    • General questions
    • Update SQL Server Statistics
    • Clearing the procedural cache (plan cache)
    • Defragmentation of indexes
    • Reindexing database tables
    • Monitoring the implementation of routine tasks
  • How to enable the 1C technological log and how it can be disassembled
  • General approach to analyzing the 1C technology journal
  • Performance measurements
    • Performance measurement with 1C8 debugger
    • Simplest code timing
    • BSP performance assessment (installation instructions, job description)
  • Network requirements. How to check the network
    • General questions
    • Network errors
    • Insufficient bandwidth
    • Routing
    • Active equipment add-ons
    • 1C landscape server add-ons
    • Network Services
  • Collecting dump statistics (general principle)
    • Automated dump collection
    • Collecting dumps manually
  • Working with the Central Control Commission. General principles, standard features, initial setup
    • General questions
  • Working with the Central Control Commission. Setting up your own control procedures
  • Working in the profiler. How to get a query plan
  • Working in the profiler. How to get duration amount
  • Working in the profiler. How to get a deadlock graph
  • Working in the profiler. How to get information about block escalations
  • Working with the MCC. General principles, standard capabilities, general sequence of work, setup wizard, rights table
    • General questions
    • What to do to get started
    • Database Connection Wizard
    • Rights required for the operation of the MCC
  • Working with the MCC. Getting the query plan
  • Working with the MCC. Deadlock analysis
  • Working with the MCC. Regulatory monitoring
  • Working in the configurator. Correcting queries
    • List of rules
    • Explanation of Rule 3 (“FOR CHANGE”)
    • Explanation of rule 4 (matching indexes and query conditions)
    • Explanation of Rule 8 (do not use subqueries in conditions)
    • Explanation of Rule 9 (do not use joins with subqueries, but use temporary tables)
    • Explanation of rule 10 (do not connect virtual tables to real ones, or virtual tables to virtual ones)
    • Explanation of Rule 13 (in problematic queries, refuse OR)
    • Explanation of Rule 14 (avoid queries against empty tables in automatic control blocking "1C")
    • Explanation of rule 15 (do not get a value separated by a dot from a field of a complex type)
    • Explanation of Rule 16 (understand how the request can be modified by the platform when the RLS mechanism is running)
  • Load tests
    • simplest
    • Stopping in the debugger
    • Stop in modal form
    • Load testing with group processing
    • Working with the Test Center. General principles and standard features. Simple test using Test Center
    • Embedding a Test Center
    • Working with the Test Center. Long Length Test Template
    • Working with the Test Center. Universal load test
    • Working with the Standard 1C load test. General principles and standard features
    • New 8.3 features for functional and load testing
    • Classification of load testing
    • Investigation of platform crashes, blocking errors and reasons for unsatisfactory performance that were reproduced during test execution
  • General diagnostics business process
  • Working in the configurator. Editing the lock timeout setting
  • Working with TJ. How to see which managed locks have been set
  • Working with TJ. How to investigate a conflict on managed locks
  • Measuring performance dynamics using logs
  • About opening modal windows in a transaction
  • Hook to get the call stack when debugging is not available
  • How to build a failover cluster 8.3 from two servers
  • How to leave the licensing service on only one server in an 8.3 cluster
  • How to build a failover cluster 8.2 from two servers
    • Setting up a fault-tolerant 8.2 design with scaling and load balancing
  • Working with the Central Control Commission. How to make your code debuggable
  • Working with the Central Control Commission. Deployment for locking error monitoring purposes

Chapter 5. Techniques and additional information

  • Review of paid and free tools
  • Requirements from the ITS disk used when checking on 1C: Compatible!, affecting performance
  • Clarifications important for a general understanding of the picture
  • Design and technical solutions leading to problems
  • Configuration Practices that Cause Problems
  • Daily monitoring

Chapter 6 Additional Notes

  • Economic sense of accounting automation and productivity optimization
  • About 24x7 availability mode
  • About the equipment calculation method
  • About working in various DBMSs

Chapter 7. Conclusion. About guarantees of system performance after several years

List of abbreviations



Share with friends or save for yourself:

Loading...