0157 genexus full_throttling
Upcoming SlideShare
Loading in...5
×
 

0157 genexus full_throttling

on

  • 894 views

 

Statistics

Views

Total Views
894
Views on SlideShare
894
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

0157 genexus full_throttling 0157 genexus full_throttling Presentation Transcript

  • Genexus, acelerador a fondo
    Gabriel Klestorny – Pablo García
    t-gakles@microsoft.com – pcgarcia@microsoft.com
  • ¿Objetivo?
    Dar recetas sencillas para
    Dar recetas sencillas para optimizar el desempeño de las aplicaciones Genexus en la plataforma .net
  • Base de datos 1/3
    Snapshot Isolation
  • Base de datos 2/3
    CREATE PARTITION FUNCTION myRangePF1 (int) AS RANGE LEFT FOR VALUES (1, 100, 1000)
    GO
    CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg)
    GO
    CREATE TABLE PartitionTable (col1 int, col2 char(10)) ON myRangePS1 (col1)
    CREATE PARTITION FUNCTION myRangePF3 (char(20)) AS RANGE RIGHT FOR VALUES ('EX', 'RXE', 'XR');
  • Base de datos 3/3
    4911-403C-9
    6431-4D57-8
    2007060
    2
    3
    1
    2
    10
    1
    0.00
    2
    3
    1
    4
    4
    2
    3
    1
    1
    1
    1
    2
    3
    4
    2
    1
    3
    4
    3
    4
    2
    1
    3
    4
    3
    4
    3
    1
    2
    3
    3
    2
    1
    3
    1
    3
    4
  • El tan esperado host paranuestralógica de negocios…
    AppFabric
    CACHING
    MONITORING
    WORKFLOW HOSTING
    SERVICE BUS
    ACCESS CONTROL
    SERVICE HOSTING
    SCALE OUT
    HIGH AVAILABILITY
    MULTI-TENANT
    MANAGEMENT
  • ¿Quées el caché del Appfabric?
    Un caché de aplicaciónexplícito, distribuido, en memoria, paracualquiertipo de datos
    (CLR objects, rows, XML, Binary data etc.)
    Clientes del caché en diversasmáquinas o procesos
    Vista lógica del caché. Un solo gran caché
    Vista unificada del cache
    Cachédistribuído entre N nodos
  • ¿Dóndecalza el caché?
    Users

    Web Tier
    (ASP.Net)
    Application
    Application
    Application
    Caching Access Layer
    Caching Access Layer
    Caching Access Layer
    Caching Service
    Caching Service
    Caching Service
    Cache Tier
    Data Tier
    Database
    Cloud
  • Test de Escalabilidad
    Server 3 Added
    Throughput Increases
    Latency Decreases
    Server 2 Added
    Throughput Increases
    Latency Decreases
    Until Server Saturation
    Load
    Single Server
    Throughput Increases with Increasing Load
    Until Server Saturation
    Throughput
    Latency
  • Application
    Application
    Cache1
    Cache2
    Cache3
    Primary for
    Caché con altadisponibilidad
    PUT
    Get(K2)
    AppFabric Caching Client
    AppFabric Caching Client
    Routing Table
    Routing Table
    Primary for
    Primary for
    Replication Agent
    K3, V3
    K1, V1
    K2, V2
    (K2, V2)
    K2, V2
    Secondary for
    Secondary for
    Secondary for
    K2, V2
    K3, V3
    K1, V1
  • Integración con la sesión de ASP.net
    Balanceador de carga sin afinidad de sesión
    <sessionState mode="Custom“ customProvider="SessionStoreProvider">
    <providers>
    <add name="SessionStoreProvider"
    type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider,
    ClientLibrary“
    cacheName="<YourNamedCache>"/>
    </providers>
    </sessionState>
    Almacena en AppFabric Caching SessionStoreProvider

    Caching Access Layer
    Caching Access Layer
    Sesiónalmacenada en AppFabric Caching
    Estado de Sesióncompartido entre múltiplesaplicaciones
    El almacenamientoescaladinámicamente
    Cache Service
    Caching Service
    Caching Service
    Alta Disponibilidad
    Application
    Application
    Application
    Caching Access Layer
  • EscenarioInicial
    “Wow! Québuenaaplicación!”
    Database
    Request
    App Tier
    Browser
    Response
  • EscenarioInicial
    “Yupiii!!! Tenemosmuchos
    usuarios!”
    Browser
    Browser
    Database
    App Tier
    Browser
    Browser
    Browser
  • EscenarioInicial
    “Mamaaaaaa…”
    Browser
    Browser
    Database
    App Tier
    Browser
    “Server Busy”
    Browser
    “Timeout”
    Browser
  • ¿Cómopodemosayudar a Carlitos?
  • Opción 1:
    Escalarverticalmente: “Scale Up”
    Browser
    App Tier
    Browser
    Database
    App Tier
    Browser
    Browser
    Browser
    “No me gusta…”
  • Opción 2:
    Escalarhorizontalmente: “Scale Out”
    Browser
    N L B
    App Tier
    Browser
    Database
    App Tier
    App Tier
    Browser
    App Tier
    Browser
    Browser
    “Mmm! Interesante…”
  • ¿Cómohacemos con el estado?
  • Opción 1:
    MantenerAfinidad de Cliente
    Browser
    N L B
    App Tier
    Browser
    Database
    App Tier
    Browser
    App Tier
    Browser
    Browser
    I love you!
    I love you too!
    “Quécursi! No me gusta…”
  • Opción 2:
    Persistir el estado
    Sessions
    Browser
    N L B
    App Tier
    Browser
    Database
    App Tier
    Browser
    App Tier
    Browser
    Browser
    “Cool! Me gusta, pero…”
  • Opción 3:
    Utilizar un CachéDistribuido
    Browser
    Database
    N L B
    App Tier
    Browser
    App Tier
    Browser
    App Tier
    Browser
    Browser
    AppFabric
    AppFabric
    AppFabric
    Sessions
    Sessions
    Sessions
  • Resultados
  • ¡Muchas Gracias!