Devops for Growth
107.5K views | +9 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'performance'. Clear
Scooped by Mickael Ruau
Scoop.it!

It’s Not Your Machine, It’s Your Code

It’s Not Your Machine, It’s Your Code | Devops for Growth | Scoop.it
Let's take an example of, you have a nice idea that we can trade in the stock market based on tweets, which is possible. It's just going to be hard to do that at scale because a lot of tweets, we don't know what it means. Say we have a startup, and that's our product. We need investors, and we tell them, we're just constantly scouring the web, getting tweets, making trades. We need to move fast because we're a startup. We're also very poor, but we're smart. It's going to be a central theme of this talk. We're very smart so we could do dangerous things. Basically, this just means you have a machine that takes tweets, takes a bunch of data, and then gets you money out of it by trading.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

eMag InfoQ FR - DevOps : du Rex aux Outils

eMag InfoQ FR - DevOps : du Rex aux Outils | Devops for Growth | Scoop.it
Dans ce premier eMag, nous parlerons DevOps : un retour d'expérience de Déploiement Continu avec intérêts et difficultés rencontrés, ainsi qu'une perspective complémentaire autour de l'Intégration Continue, suivi d'un éclairage sur le tuning de performance et ses caractéristiques dans l'environnement actuel. Et pour finir, la gestion des logs avec une critique de LogStash Book.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Mettre le plus de contraintes en amont

Mettre le plus de contraintes en amont | Devops for Growth | Scoop.it
Avez-vous déjà mis en place des tests sur un projet qui n'en avait aucun ? Du multi-tenant sur un produit mono-tenant ? Un outil d'analyse statique de code sur un projet bien avancé ? C'est (très) douloureux, n'est-ce pas ?
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Numbers Everyone Should Know - High Scalability -

This group of numbers is from Brett Slatkin in Building Scalable Web Apps with Google App Engine.

Writes are expensive!

 

  • Datastore is transactional: writes require disk access
  • Disk access means disk seeks
  • Rule of thumb: 10ms for a disk seek
  • Simple math: 1s / 10ms = 100 seeks/sec maximum
  • Depends on:
    * The size and shape of your data
    * Doing work in batches (batch puts and gets)

    Reads are cheap!

  • Reads do not need to be transactional, just consistent
  • Data is read from disk once, then it's easily cached
  • All subsequent reads come straight from memory
  • Rule of thumb: 250usec for 1MB of data from memory
  • Simple math: 1s / 250usec = 4GB/sec maximum
    * For a 1MB entity, that's 4000 fetches/sec

 

 

Mickael Ruau's insight:
  • Numbers Miscellaneous

    This group of numbers is from a presentation Jeff Dean gave at a Engineering All-Hands Meeting at Google.

  • L1 cache reference 0.5 ns
  • Branch mispredict 5 ns
  • L2 cache reference 7 ns
  • Mutex lock/unlock 100 ns
  • Main memory reference 100 ns
  • Compress 1K bytes with Zippy 10,000 ns
  • Send 2K bytes over 1 Gbps network 20,000 ns
  • Read 1 MB sequentially from memory 250,000 ns
  • Round trip within same datacenter 500,000 ns
  • Disk seek 10,000,000 ns
  • Read 1 MB sequentially from network 10,000,000 ns
  • Read 1 MB sequentially from disk 30,000,000 ns
  • Send packet CA->Netherlands->CA 150,000,000 ns

    The Lessons

  • Writes are 40 times more expensive than reads.
  • Global shared data is expensive. This is a fundamental limitation of distributed systems. The lock contention in shared heavily written objects kills performance as transactions become serialized and slow.
  • Architect for scaling writes.
  • Optimize for low write contention.
  • Optimize wide. Make writes as parallel as you can.

    The Techniques

    Keep in mind these are from a Google AppEngine perspective, but the ideas are generally applicable.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Attack of the Killer Microseconds - [Site WWW de Laurent Bloch]

Le dernier numéro des Communications of the ACM [1] (CACM) contient un article intitulé Attack of the Killer Microseconds écrit par des ingénieurs de Google, dont David Patterson, qui fut dans des vies antérieures professeur à Berkeley, architecte principal des processeurs SPARC de Sun Microsystems et co-auteur avec John Hennessy (architecte principal des processeurs MIPS et actuel président de l’université Stanford) du manuel de référence sur l’architecture des ordinateurs (pour dire qu’il ne s’agit pas d’élucubrations d’amateurs).

 

(...)

Ces problèmes de temps de latence pénalisants surgissent aujourd’hui parce que des événements qui étaient relativement rares dans les traitements d’hier (appel de procédures à distance, déplacement de machine virtuelle par exemple) sont désormais au cœur des architectures de traitement de données. Tant que ces événements étaient rares, les architectes de système adoptaient des solutions simples, telles que, simplement, attendre la fin de l’action, mais dès lors que ces événements sont fréquents la pénalité encourue devient de moins en moins supportable.

Pour alléger ces pénalités, nos auteurs suggèrent de concevoir à nouveaux frais des optimisations pour les mécanismes de bas niveau, tels que contention de verrou et synchronisation. Les spécialistes du calcul à haute performance (HPC) se sont confrontés à ces problèmes depuis longtemps, mais les solutions qu’ils ont adoptées ne répondent pas forcément très bien aux questions actuelles, parce qu’ils travaillaient généralement dans un contexte où les contraintes économiques étaient faibles, ce qui n’est pas le cas des grands centres de données d’aujourd’hui.

De surcroît, les logiciels déployés par les grands opérateurs tels que Google et Amazon évoluent rapidement, ce qui impose des méthodes de génie logiciel rigoureuses et simplificatrices, impératif ignoré du monde HPC.

Des solutions doivent également être cherchées du côté des processus légers, du parallélisme à grain fin, de la gestion plus efficace des files d’attente, etc. Je ne puis mieux faire que vous recommander la lecture de cet article.

Mickael Ruau's insight:

 

Nos auteurs donnent les ordres de grandeur suivants pour 2017 :

En nanosecondes : En microsecondes : En millisecondes : Accès registre : 1ns-5ns réseau local : O(1µs) Accès disque : O(10ms) Accès cache : 4ns-30ns Mémoire non-volatile : O(1µs) Clé USB : O(1ms) Accès mémoire : 100ns Mémoire flash rapide : O(10µs) Internet : O(10ms)

Les efforts les plus importants (ils se chiffrent en milliards d’euros de recherche-développement) ont porté sur les actions de la première et de la troisième colonne, même si l’on peut noter la relative stagnation des performances des disques durs.

En d’autres termes, voici le nombre d’instructions qu’un processeur moderne peut effectuer pendant les opérations de lecture-écriture suivantes :

Mémoire flash 225 000 instructions = O(100µs) Flash rapide 20 000 instructions = O(10µs) Mémoire NVM 2 000 instructions = O(1µs) Mémoire centrale 500 instructions = O(100ns)
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

CQRS / Event Sourcing | SOAT

CQRS / Event Sourcing | SOAT | Devops for Growth | Scoop.it

Suite à une demande d’évolution que vous avez développée, les temps de chargements de votre application ont augmenté ? Les régressions se sont multipliées et la qualimétrie s’est affolée ?

Si tel est le cas, votre application vient sans doute d’éprouver les limites de sa conception CRUD (Create/Read/Update/Delete) et de ses implications en termes de gestion de la modélisation du métier complexe et en termes de scalabilité. Cette modélisation, pourtant simple à mettre en place et à transmettre, peut devenir un réel frein à l’agilité globale de l’application, tant bien du point de vue technique que métier.

Parmi les axes de travail qui vont permettre de rétablir une délivrabilité optimale et d’améliorer les performances et l’évolutivité des applications, nous traitons dans ce livre blanc de deux motifs architecturaux.

Mickael Ruau's insight:

 

Le premier de ces motifs d’architecture logicielle a été formalisé en 2010 par Greg Young. Il s’agit de CQRS (Command and Query Responsibility Segregation), un motif architectural visant à séparer au sein d’une application, les composants de traitement métier de l’information (“command” / écriture) et de restitution de l’information (“query” / lecture)

 

Le second est l’Event Sourcing. Formalisé dans les années 2000, notamment par Martin Fowler et Greg Young à nouveau, mais latent depuis les années 60, il s’agit d’un pattern de persistance de la donnée, basé non pas sur les états successifs des concepts métiers dans un système, mais sur les faits qui se sont déroulés dans le système lui-même.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Logiciel de test de la charge : Outils de test des applications | Micro Focus

Logiciel de test de la charge : Outils de test des applications | Micro Focus | Devops for Growth | Scoop.it
L'outil logiciel de test de charge Micro Focus LoadRunner vous permet d'analyser et d'éviter les problèmes de performances des applications et de détecter les goulots d'étranglement avant le déploiement ou la mise à niveau.
Mickael Ruau's insight:
Exécutez gratuitement des tests de performances

Exécutez des tests avec LoadRunner, maintenant disponible gratuitement de manière illimitée.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

HP LoadRunner — Wikipédia

HP LoadRunner - Wikipédia

HPE LoadRunner est un outil de test logiciel de Hewlett-Packard Enterprise. En septembre 2016, HPE annonçait la vente de ses logiciels d'entreprise, y compris les produits Mercury, à Micro Focus. Il est utilisé pour tester les applications, mesurer le comportement système et la performance en charge.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

How to Troubleshoot IIS application hangs / unresponsiveness | SherWeb

How to Troubleshoot IIS application hangs / unresponsiveness | SherWeb | Devops for Growth | Scoop.it
Utilizing Resource Monitor, Performance Monitor and the Worker Processes IIS utility to track down App hangs and unresponsiveness on dedicated and cloud servers
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Fix Windows 10 Microsoft Compatibility Telementary High Disk Usage

Fix Windows 10 Microsoft Compatibility Telementary High Disk Usage | Devops for Growth | Scoop.it
Using telemetry built into Windows 10, Microsoft tries to improve the features. Here is how to Fix Microsoft Compatibility Telementary High Disk Usage.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Comment résoudre l’impact du chargement des classes dynamiques sur les performances Java ?

Pour bien comprendre de quoi il retourne, appuyons-nous sur l'exemple d'un test de charge réalisé par Aftab Alam d'Infosys avec SOASTA pour la simulation de charge, et Dynatrace pour l'analyse des performances de l'application à charge constante.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Architecture des applications web en 2015 - AXOPEN

Architecture des applications web en 2015 - AXOPEN | Devops for Growth | Scoop.it
Description de l'architecture web "idéale" pour le développement d'une application web en 2015. Mise en lumière des best practices de développement web pour la performance.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

[HPC] Pour des chercheurs, « une décennie de cœurs perdue » par Linux, quelques modifications améliorent la performance d'un facteur jusque 137

[HPC] Pour des chercheurs, « une décennie de cœurs perdue » par Linux, quelques modifications améliorent la performance d'un facteur jusque 137 | Devops for Growth | Scoop.it
L’ordonnanceur d’un système d’exploitation est une partie cruciale pour la performance. Il décide de l’affectation des fils d’exécution aux différents cœurs et processeurs d’une machine afin d’utiliser au mieux la machine à disposition, tout en garantissant une certaine réactivité pour les applications qui en ont besoin (notamment les interfaces graphiques : elles ne peuvent pas rester plusieurs minutes sans pouvoir exécuter la moindre instruction, car elles ne peuvent alors pas répondre
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Pragmatic Performance - Tales from the Trenches

Pragmatic Performance - Tales from the Trenches | Devops for Growth | Scoop.it
General solutions are great, because they are general. They work in all situations. This generality comes at a cost. What I'm going to do is to encourage you to embrace your inner snowflake, find out what's really your problem, and solve just that. As one who has been responsible for more bugs than I'd care to admit, I'm highly biased towards picking solutions with low complexity, both in terms of implementation and maintenance.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Les créateurs de Python dévoilent leurs plans d'accélération pour Python, qui promettent de le rendre 2 à 5 fois plus rapide sans casser aucun code existant

Les créateurs de Python dévoilent leurs plans d'accélération pour Python, qui promettent de le rendre 2 à 5 fois plus rapide sans casser aucun code existant | Devops for Growth | Scoop.it
Le langage de programmation Python dispose déjà de nombreux moyens de s'exécuter plus rapidement, qu'il s'agisse des runtimes d'exécution alternatifs comme PyPy ou de modules écrits en C/C++. Mais presque aucune de ces méthodes n'implique l'accélération de CPython lui-même – l'implémentation de référence de Python, écrite en C, qui est la version la plus largement utilisée du langage. Lors du Python Language Summit qui s'est tenu au PyCon 2021 la semaine dernière, le créateur du langage Python
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Complexité en espace — Wikipédia

Complexité en espace

En algorithmique, la complexité en espace est une mesure de l'espace utilisé par un algorithme, en fonction de propriétés de ses entrées. L'espace compte le nombre maximum de cases mémoire utilisées simultanément pendant un calcul. Par exemple le nombre de symboles qu'il faut conserver pour pouvoir continuer le calcul.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Numbers Everyone Should Know

Numbers Everyone Should Know | Devops for Growth | Scoop.it

 

Operation Time (nsec) L1 cache reference 0.5 Branch mispredict 5 L2 cache reference 7 Mutex lock/unlock 25 Main memory reference 100 Compress 1KB bytes with Zippy 3,000 Send 2K bytes over 1 Gbps network 20,000 Read 1MB sequentially from memory 250,000 Roundtrip within same datacenter 500,000 Disk seek 10,000,000 Read 1MB sequentially from disk 20,000,000 Send packet CA -> Netherlands -> CA 150,000,000

 

Some useful figures that aren’t in Dean’s data can be found in this article comparing NetBSD 2.0 and FreeBSD 5.3 from 2005. Approximating those figures, we get:

Operation Time (nsec) System call overhead 400 Context switch between processes 3000 fork() (statically-linked binary) 70,000 fork() (dynamically-linked binary) 160,000
Mickael Ruau's insight:

Update: This recent blog post examines the question of system call and context switch overhead in more detail. His figures suggest the best-case system call overhead is now only ~60 nsec (for Linux on Nehelem), and that context switches cost about 30 microseconds (30,000 nsec) — when you account for the cost of flushing CPU caches, that is probably pretty reasonable.

In comparison, John Ousterhout’s RAMCloud project aims to provide end-to-end roundtrips for a key-value store in the same datacenter within “5-10 microseconds,” which would represent about a 100x improvement over the 500 microsecond latency suggested above.

The keynote slides are worth a glance: Dean talks about the design of “Spanner”, a next-generation version of BigTable he is building at Google. See also James Hamilton’s notes on the keynote, and Greg Linden’s commentary.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

How to Identify the Usual Performance Suspects

How to Identify the Usual Performance Suspects | Devops for Growth | Scoop.it
When You're Out to Fix Bottlenecks, Be Sure You're Able to Distinguish Them From System Failures and Slow Spots
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Les statistiques de performance serveur dans votre navigateur avec Server Timing - Alsacreations

Les statistiques de performance serveur dans votre navigateur avec Server Timing - Alsacreations | Devops for Growth | Scoop.it

La spécification W3C Server Timing est destinée à envoyer des informations complémentaires dans des en-têtes HTTP, notamment pour le suivi de la performance côté serveur.

On connaît déjà bien les outils de développement navigateur (F12) et les onglets relatifs au réseau (ou Network). Ceux-ci affichent tous les timings relatifs au côté front-end, c'est-à-dire tout ce que le navigateur peut réunir comme statistiques : le temps nécessaire pour les échanges réseau, l'interprétation des codes HTML, CSS, JavaScript, l'affichage, etc.

Il est désormais possible d'y afficher aussi des informations provenant de temps de traitement côté serveur, par exemple :

  • Accès aux fichiers
  • Connexion à la base de données
  • Exécution de requêtes
  • Interrogation du cache
  • Traitements lourds divers et variés
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Comparaison NeoLoad et LoadRunner. Evaluez la différence.

Comparaison NeoLoad et LoadRunner. Evaluez la différence. | Devops for Growth | Scoop.it
Comparaison NeoLoad et LoadRunner : moins cher, permet de tester 5 à 10 fois plus vite, et supporte mieux les technologies web et mobiles.
Mickael Ruau's insight:

Test en charge gratuit jusqu’à 50 utilisateurs virtuels, tous les modules de protocoles inclus, les tests mobiles inclus, ainsi que l’interface avec les outils d’intégration continue.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Optimisation des performances de IIS - BizTalk Server

Optimisation des performances de IIS - BizTalk Server | Devops for Growth | Scoop.it

Internet Information Services (IIS) expose de nombreux paramètres de configuration qui affectent les performances d’IIS.Cette rubrique décrit plusieurs de ces paramètres et fournit des indications générales pour définir les valeurs de paramètre pour améliorer les performances d’IIS.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

DevOps : la gestion des performances de l'application pour les nuls, un livre blanc disponible gratuitement

DevOps : la gestion des performances de l'application pour les nuls, un livre blanc disponible gratuitement | Devops for Growth | Scoop.it
Chers membres du club,J'ai le plaisir de vous proposer ce livre sur DevOps : la gestion des performances de l'application pour les nuls.




Les applications ne sont plus conçues dans un processus métier monolithique, mais comme un ensemble de services modulaires, comme des microservices stockés dans des conteneurs. Chaque service inclut une API bien définie, utilisée pour lier les éléments ensemble, afin de pouvoir créer de nouvelles applications suivant les désirs du client
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

free Ebook : full stack web performance

Full Stack
Web Performance

Modern websites rely on optimized web performance to deliver apps. Yet the same digital technologies that make it possible to accelerate growth has also transformed the roles of software engineers and IT organizations.

Ops roles may be now DevOps or DevSecOps. How do they work together and ensure how to manage availability across the enterprise?

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

The Real Cost of Slow Time vs Downtime

Eventually, every website fails. If it's a household-name site like Amazon, then news of that failure gets around faster than a rocket full of monkeys. That's …
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Quadran lance appYuser pour scruter la performance web - Le Monde Informatique

Quadran lance appYuser pour scruter la performance web - Le Monde Informatique | Devops for Growth | Scoop.it
Applications métiers : Le cabinet de conseil toulousain Quadran a annnoncé en début de mois la sortie d'appYuser, une offre de mesure de la performance et de l
No comment yet.