#abbyysummit15 - training (1/6): flexicapture best practices of system configuration: scaling,...

37
Technology Summit 2015 © Copyright 2015 ABBYY Technology Summit BEST PRACTICES OF SYSTEM CONFIGURATION. SCALING, REDUNDANCY Andrew Zyuzin, PM of DataCapture Dev Team #ABBYYSummit15

Upload: abbyy-usa

Post on 22-Jan-2018

716 views

Category:

Software


2 download

TRANSCRIPT

Page 1: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

© Copyright 2015 ABBYY Technology Summit

BEST PRACTICES OF SYSTEM CONFIGURATION. SCALING, REDUNDANCY

Andrew Zyuzin, PM of DataCapture Dev Team

#ABBYYSummit15

Page 2: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

How to setup a production system for desired performance?

● Performance

#ABBYYSummit15 2

● Scalability & Redundancy

● Bottlenecks

Page 3: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Choose a hardware

#ABBYYSummit15 3

BWpages per

day

GRAYpages per day

COLORpages per day

Verifiers

5K 1K 1K 3

1M 300К 200К 100

600K 300

Unlimited Unlimited Unlimited Unlimited

10Gb/s

ABBYY FlexiCapture 12

Page 4: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Environment

ABBYY FlexiCaptureServers

ABBYY FlexiCaptureStations

Page 5: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Calculate amount of cores

#ABBYYSummit15 5

10Gb/s0

100

200

300

400

500

600

700

800

900

1000

8 16 24 32 40 48 56 64 72 80

Tho

usn

ad o

f p

age

s p

er

24

ho

urs

Processing CPU cores

bw

Page 6: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015ABBYY QA Farm Performance

#ABBYYSummit15 6

10Gb/s0

100

200

300

400

500

600

700

800

900

1000

8 16 24 32 40 48 56 64 72 80

Tho

usn

ad o

f p

age

s p

er

24

ho

urs

Processing CPU cores

bw

gray

color

Page 7: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Approach

7#ABBYYSummit15

Test

Analyze

Design

Deliver

Page 8: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Explore the Business Process

How many documents? Seasonality? How many pages in documents?

#ABBYYSummit15 8

mount

ime

ource

ntegrity

erification

What is SLA about time to process,

time to store?

What is SLA about quality?

What are the sources of images?

What is the smallest

integral part to process?

Page 9: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Parameters of the System

#ABBYYSummit15 9

Metric UoM

Average, PeakPerformance

pages per 24 hours,pages per hour

Input flow MB/s

File Storage size GB

Amount of verifiers guys

Metric UoM

Document size pages

Batch size pages

Optimal

up to 100

10 - 1000

Limitations

1M pages / day,50K pages / hour

1 Gb/s [10 Gb/s]

Cost of Hardware

Up to 100 (300)

Page 10: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Architecture

#ABBYYSummit15 10

• Application Server• Licensing Server

• Processing Servers• Processing stations

• Database Server• FileStorage

• Clients• Network

Page 11: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Interaction of components

#ABBYYSummit15 11

Page 12: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Automatic Processing

#ABBYYSummit15 12

Page 13: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Automatic Processing

#ABBYYSummit15 13

Page 14: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Automatic Processing

#ABBYYSummit15 14

Page 15: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Manual Processing

#ABBYYSummit15 15

Page 16: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Export Results

#ABBYYSummit15 16

Page 17: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Network utilization

Application Server (Web Servie)

Image EnhancementInput Flow * upload times, Input Flow * download timesMAX ( )

vs. Network Capacity

Page 18: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

File Storage

Application Server (Web Servie)

Input Flow * upload times

+Input Flow * download times

vs.

IOPS * bytes per operation

RedundancyRAID 10 from SATA2,

SAN, NAS

Volume

Input Flow * Time to Store

Page 19: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Application Server

Application Server (Web Servie)

Clients

Clients

Processing Stations

Critical resources:Network (2+ NIC)Connection to FileStorageProcessorRAM

Page 20: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Application Server

Application Server (Web Servie)

Clients

Clients

Processing Stations

Critical resources:Network (2+ NIC)Connection to FileStorageProcessorRAM

Network Load Balancing Cluster

Page 21: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Application Server

Application Server (Web Servie)

Clients

Clients

Processing Stations

Critical resources:Network (2+ NIC)Connection to FileStorageProcessorRAM

Network Load Balancing Cluster

Page 22: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Database ServerCritical resources:

RAMFast Physical DiskProcessorNICs

Fault Tolerance & High Availability

RecommendationsDisable MirroringUse Simple Recovery ModelStore database log at separate physical driveRebuild indexes

Page 23: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Processing, Licensing Servers

Microsoft Failover Cluster

Active Passive

Critical resources:RAM: 4GBProcessor: 2 coresNICs

Highly Availability

Page 24: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Processing Station

#ABBYYSummit15 24

10Gb/s

Critical resources:Processor: - frequency,- up to 12 coresFast Hard DriveRAM: 2 GB per core

Page 25: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Operators

#ABBYYSummit15 25

10Gb/s

● Scanning

● Verifiers

Tho

usn

ad o

f p

age

s p

er

24

h

ou

rsProcessing CPU cores

100 cores

Page 26: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Production - Starter

Page 27: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Production - Redundant

#ABBYYSummit15 27

10Gb/s

Page 28: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

ABBYY FlexiCapture 12

#ABBYYSummit15 28

10Gb/s

Load Balancer

Page 29: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Performance

#ABBYYSummit15 29

10Gb/s0

100

200

300

400

500

600

700

800

900

1000

8 16 24 32 40 48 56 64 72 80

Tho

usn

ad o

f p

age

s p

er

24

ho

urs

Processing CPU cores

bw

color

color*

Page 30: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

Help & Support

#ABBYYSummit15 30

10Gb/sAlexander Timoshenko,Head of Large Projects Support Dept.

Guide about High Performance Configurations

Page 31: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

LOOKING FOR BOTTLENECKSBest practices of system configuration

#ABBYYSummit15

Page 32: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Performance Monitor

#ABBYYSummit15 32

10Gb/s

● Web Performance Monitor (free)

● System Center Operations Manager

Page 33: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015General System Parameters

#ABBYYSummit15 33

10Gb/s

● Memory● Memory\Available Bytes● Memory\Pages/sec

● Process(<All instances>)\Working Set

● Processor● Processor(_Total)\% Processor● Time System\Processor Queue Length

● Process(<All instances>)\% Processor Time

Page 34: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015General System Parameters

#ABBYYSummit15 34

10Gb/s

● Disk● LogicalDisk(<All instances>)\Free Megabytes

● PhysicalDisk(<All instances>)\% Disk Time ● PhysicalDisk(<All instances>)\Avg. Disk Queue Length

● Network● Network Interface(<All instances>)\Output Queue Length ● Network Interface(<All instances>)\Packets Outbound Discarded● Network Interface(<All instances>)\Bytes Total/sec ● Network Interface(<All instances>)\Current Bandwidth

Page 35: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Application Server

#ABBYYSummit15 35

10Gb/s

● Latency of App Server● FlexiCapture(All instances)\ASCT

Latency --- 30 sec = Critical Mode

● Activity● W3SVC_W3WP(_Total)\Active

Requests

● W3SVC_W3WP(_Total)\Requests/

● Web Service(Default Web Site)\Current Connections

● Network● Web Service(Default Web Site)\Bytes

Received/sec

● Web Service(Default Web Site)\Bytes Sent/sec

● Threads● W3SVC_W3WP(_Total)\Active Threads

Count

● W3SVC_W3WP(_Total)\Maximum Threads Count

Page 36: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015Processing Server

#ABBYYSummit15 36

10Gb/s

● Latency of Processing Server● FlexiCapture(Processing Server)\Primary Thread Latency

10 sec is critical

● Cores● FlexiCapure(Processing Server)\TotalCores

● FlexiCapture(Processing Server)\Free Cores

Page 37: #ABBYYSummit15 - Training (1/6): FlexiCapture Best Practices of System Configuration: Scaling, Redundancy

TechnologySummit 2015

QUESTIONS

#ABBYYSummit15 37