Learn how to write scripted load tests in PHP to run against your system without breaking the bank. Jason will cover not only the importance of load testing, but share stories of how load tests uncovered problems that would otherwise not have been discovered until production. Also, learn how to use load testing to learn how to deal with large traffic sites without needing to be employed by a large scale site first. We’ll be using RedLine13, an almost free load testing tool that is at the same time inexpensive, easy, and effective.
Asynchronous programming done right - Node.jsPiotr Pelczar
This document discusses asynchronous programming and avoiding race conditions. It covers how asynchronous actions allow the main program flow to continue processing without blocking on I/O. It also discusses how asynchronous programming works with callbacks and promises rather than sequential execution. It provides examples of using libraries like Async to control asynchronous flows and common pitfalls to avoid like double callbacks and unexpected asynchronous behavior.
Even for JavaScript software developers well-versed in Agile practices, using test-driven development in Node.js and Express can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD with Express, including mocking data in MongoDB / Mongoose, using promises to control asynchronous testing in Mocha with Chai, and separating concerns to write robust and enduring test suites.
The document discusses performance testing and introduces the Gatling load testing tool. It summarizes that Gatling uses a non-blocking architecture with Scala and Akka and provides a DSL for defining test scenarios. Gatling can simulate load, monitor performance, and generate detailed reports on test results.
This document summarizes tools and techniques for Java profiling and diagnostics. It discusses using JMX, JVMTI, and the Attach API to gather information on threading, memory usage, garbage collection, and perform actions like heap dumps. It also introduces the SJK toolkit which provides commands for profiling tasks and the Sigar and BTrace tools. Real-world uses of profiling techniques are presented, like benchmarking and diagnosing production systems. Future ideas proposed include a visual thread analyzer and scripting-based heap dump exploration.
The document discusses performance testing and introduces the Gatling load testing tool. It provides an overview of why performance testing is difficult due to the need to simulate production environments. It then discusses Gatling's domain specific language (DSL) for defining load tests and scenarios, including features for HTTP requests, checks, looping, conditions, error handling, setup, feeders and reporting. Gatling allows defining and executing distributed load tests across multiple machines.
This presentation deals with a complex approach to application testing in back end and front end parts, tests writing and common mistakes. It also includes a short overview of libraries and frameworks for creation of tests, as well as practical examples of code.
Presentation by Pavlo Iuriichuk, Lead Software Engineer, GlobalLogic, Kyiv), delivered at an open techtalk on December 11, 2014.
More details - http://globallogic.com.ua/report-web-testing-techtalk-2014
node.js practical guide to serverside javascriptEldar Djafarov
This document provides an overview of Node.js and how to build server-side JavaScript applications with it. Some key points covered include:
- Node.js uses a single-threaded non-blocking I/O model that handles multiple requests concurrently using callbacks and an event loop.
- Common Node.js modules like Express make it easy to build REST APIs and web servers. Express uses middleware for common tasks like routing, static files, authentication etc.
- Testing Node.js applications can be done with frameworks like Mocha and Chai to write unit and integration tests, and the Request library to mock HTTP requests.
Performance tests with Gatling are difficult for three main reasons:
1) The test environment must closely simulate production in terms of hardware, software, and load.
2) Proper infrastructure for monitoring, logging, and isolating tests is required.
3) Performance intuition can be wrong, so statistics like percentiles must be used rather than averages.
Test Driven Development emphasises quick iterations for your code. You won't code faster, but perhaps you will be more accurate.
TDD has been around for a while and I have avoided it for most of my career. I decided for the month of October all code I write I will do TDD. The result was much more positive than I thought it would be and made me rethink how I code. This talk covers the testing pyramid, the importance of unit testing and the tools I use for testing React. As part of the talk I will work through a trivial example to demonstrate how to do TDD.
The document discusses test-driven development (TDD). It states that TDD relies on short development cycles where the developer first writes an automated test case that defines a new function or improvement. Then the developer produces code to pass that test, and refactors the new code to acceptable standards.
The document discusses various techniques for profiling Java applications to identify performance bottlenecks, including stack trace sampling, bytecode instrumentation, Java Management Extensions (JMX), flight recording, and tools like SwissJavaKnife. It emphasizes starting with broad profiling before narrowing down on specific problem areas using more advanced tools. Some key points covered are understanding the target problem and performance indicators, avoiding getting sidetracked, and progressing profiling steps slowly and steadily.
This document discusses using web services in Android development. It covers making HTTP requests to web services, parsing the response, and creating your own basic web service using PHP. Key points include constructing the URL, executing asynchronous HTTP requests, checking response codes, and parsing XML or JSON responses. The document provides code samples for making a request and handling the response. It also discusses possible issues like blocking the UI thread during the request and suggests using threads to avoid this. Finally, it proposes an exercise to build an accessible application using a web service and GPS.
Pushing symfony events in real time to your clients
This talk, held at the symfony live Paris unconference, gives an overview about how events thrown in symfony can be dispatched in real time to web clients. It describes the architecture of the solution and provides examples using the open source comet server APE
Using Node.js to Build Great Streaming Services - HTML5 Dev ConfTom Croucher
The document discusses using Node.js to build streaming services. It describes how Node.js allows for scalable server-side code using JavaScript and mentions libraries like JSONStream that can be used to parse JSON streams. The document also discusses different types of streaming like simplex, throughput, and duplex streaming and how to manage backpressure in streams.
This document describes how to virtualize Java applications in Java by hosting multiple "pseudo JVMs" within a single JVM. This allows deploying distributed applications for testing purposes. Key points covered include:
- Using custom classloaders and system properties to isolate "pseudo JVMs" and simulate distributed environments.
- Frameworks like GridKit that enable starting whole application topologies within JUnit tests for behaviors testing.
- Techniques for testing features like serialization, data routing, and cross-version compatibility.
- Later extensions to deploy virtual nodes across real servers using SSH for performance and deployment testing of distributed systems.
Jan Stępień - GraalVM: Fast, Polyglot, Native - Codemotion Berlin 2018Codemotion
GraalVM challenges the status quo on the JVM. This newly-released JIT compiler brings substantial speed improvements and support for polyglot applications. It also allows us to translate our JVM bytecode into self-contained native binaries. In this session we’ll explore GraalVM’s potential. We’ll focus on Clojure, but our discussion will apply to many more programming languages. We’ll use GraalVM to build small native binaries. We’ll discuss the method’s limitations and their impact. Finally, we’ll build complete Clojure web apps weighing a fraction of their traditional JVM incarnations.
Load Testing with Open Source, includes
#1 Common Sense in load testing
#2 Review of Open Source Load Testing tools including JMeter(http://jmeter.apache.org/), Gatling.io, and others.
#3 Why continuous load testing (Jenkins)
#4 Why is load testing interesting to me and the start of Redine13(https://www.redline13.com/)
Delivered at Fosscon(http://fosscon.us/) Philadelphia 2015.
In this talk, Jason will introduce tmux, the terminal multiplexer. He’ll cover why you’d want to use it, and then teach you how to actually use it with practical examples. He’ll teach you his favorite key bindings, and then go into some incredibly handy plugins that you can use that will make your tmux experience so much better. Once you are done learning tmux, you’ll never understand how you got along without it.
The document discusses RequireJS, a JavaScript module loader. It describes what RequireJS is, where to get it, how to use it to load modules and dependencies, and how optimization tools can compile modules into a single file for production. Key points include:
- RequireJS allows defining modules and loading dependencies asynchronously
- It supports both AMD (Asynchronous Module Definition) and normal JavaScript styles
- Optimization tools like the Closure Compiler can minimize files for deployment
- RequireJS works in browsers, Node.js, and Rhino (via Java) to load modules
How we killed our process, technology stack, and assumptions – and survivedJason Lotito
How do you introduce new ways of building products without stopping development? MeetMe.com's Jason Lotito will reveal the challenges his team encountered while changing their development process, including the perils of adding new technology to the stack. He'll also describe how the team moved from a slower development process to a faster, more efficient one — practically overnight.
Twitter Bootstrap, or why being a PHP Developer is a bad ideaJason Lotito
The document discusses Twitter Bootstrap, an open-source front-end web development framework. It begins with an introduction to Bootstrap, explaining that it is a front-end framework made up of HTML, CSS, and JavaScript that makes web design and development easy. It then provides examples of basic HTML templates using Bootstrap and demonstrates how to easily create common front-end elements like navigation bars, headers and columns. The document suggests that Bootstrap provides pre-built styles and components that simplify the process of building responsive and mobile-first websites.
Tmux is a terminal multiplexer that allows users to open multiple terminal sessions inside a single window. It enables users to switch between various programs in different terminal sessions. The document discusses how the author installed tmux locally by compiling the source code instead of waiting for it to be installed on a sandbox server. Various tmux commands are also explained, such as splitting panes, moving between windows, and customizing the tmux configuration file.
The document provides guidance on presenting and public speaking. It discusses addressing fears of public speaking, choosing presentation topics you are knowledgeable about, and opportunities to gain speaking experience like conferences, meetups, and Toastmasters. It also covers best practices for slides, such as using animation purposefully and designing each slide around a single idea. The overall message is that gaining speaking experience takes practice and there are many avenues one can take to improve their presentation skills.
Slides from a presentation I gave on SSH. Covers basics of ssh, password|keys|host-based authentication, agent/key forwarding, configuration files (global and user-specific), local/remote port forwarding, scp, rsync, and briefly mentions git's support.
Social Media and ADHD – Turning Distractions Into DirectionsGrant Crowell
Attention Deficit Hyperactivity Disorder (ADHD/ADD.) In today’s hyper-connected internet and Social age, many of us are showing increasing symptoms of “Virtual ADD:” easily distracted, expected to multi-task more than ever before, and experiencing greater difficulty to focus long-term and prioritize. Without having the important social cues we have to work with from being in person with each other, oftentimes our online networking and relationships create big mis-communications, social fax paus, and unintentional impressions of being inconsiderate to other people’s feelings.
Compounding on the problem, both academics and behavioral psychologists that specialize in emotional intelligence, along with ADD psychologists and coaches, lack the serious expertise and personal experience needed to cover the effects of social media on people dealing from ADD: both “virtual” and genetic.
ADD is not a deficiency in a person. Honed right, it can be an incredibly special gift. But today’s understanding of how social media affects ADD, and vice versa, has huge gaps in research.
What we need today is a new type of learning: education and training from professionals with technical and communications know-how in Facebook, LinkedIn, Twitter, YouTube, OkCupid, and many more of the online communities we spend out time in building relationships, both personal and professional. They understand people in the organic sense and the virtual sense, and understand how we are evolving like technology, and how to bring us back down to earth and make us mindful of social context, and of each other, for personal happiness and professional success. These are the new “Social Stylists.”
Learn from this presentation:
• The connection between Social Media and ADD/ADHD, and vice versa.
• How professionals in social media and other Internet communications can master “Virtual ADD” and still stay focused, organized, and effective with their responsibilities, both professional and personal.
• Social Media, and other jobs and responsibilities perfect for ADD/ADHD people.
• Tools and tips for how to manage ADD/ADHD for a happy and successful, per-fessional life.
• How to use distractions to your creative advantage, and how to set realistic systems in place for shutting them off. (Including constantly checking email and one’s social media walls.)
• How to learn the hard-to-find social cues in digital media, and make more thoughtful communications that lead to less misunderstandings, and better relationships.
• Stories from successful per-fessionals who mastered their own ADHD.
Getting Things Done - Tips from someone with ADHD and OCDJason Lotito
I've had ADHD and OCD my entire life, but didn't get diagnosed with it until I was 33. Up to that point, I struggled as a developer to get things done. This talk is all about the tips, tricks, and techniques I used to get things done. From managing your time, prioritizing, and being a better leader, this talk is full of the things I still use on a daily basis to overcome having both ADHD and OCD.
This document provides an overview of performance and load testing basics. It defines key terms like throughput, response time, and tuning. It explains the difference between performance, load, and stress testing. Performance testing is done to evaluate system speed, throughput, and utilization in comparison to other versions or products. Load testing exercises the system under heavy loads to identify problems, while stress testing tries to break the system. Performance testing should occur during design, development, and deployment phases to ensure system meets expectations under load. Key transactions like high frequency, mission critical, read, and update transactions should be tested. The testing process involves planning, recording test scripts, modifying scripts, executing tests, monitoring tests, and analyzing results.
The document discusses building testable PHP applications. It covers topics like testing code, testable architecture, dependency injection, and static code analysis tools like PHP Code Sniffer, PHP Mess Detector, and PHP Copy Paster Detector. The document emphasizes that writing tests and designing for testability leads to fewer bugs and more maintainable code. It provides examples of unit testing and recommends test-driven development practices.
The document discusses unit testing Zend Framework applications. It provides an overview of setting up PHPUnit for testing, including creating a phpunit.xml file and TestHelper bootstrap file. It also discusses testing Zend Forms and Models, including writing tests to validate form data and test that models are empty on construction. Code examples are provided for writing tests for a CommentForm and CommentModel class.
This document provides an overview of quality assurance for PHP projects. It discusses the importance of revision control, documentation, testing, and automation in QA. Revision control systems like SVN and Git are recommended for team development and tracking code versions. PHP Lint is introduced for syntax checking files from the command line. Documenting code with PHPDoc is suggested. Unit testing forms and models is demonstrated using PHPUnit. Validation, filtering, and sanitizing user input is important for protection against exploits. Overall the document promotes establishing strong quality practices like testing, revision control, and documentation for PHP projects.
The document discusses unit testing Zend Framework applications. It begins by explaining the importance of testing and some common excuses for not testing. It then provides examples of setting up PHPUnit configuration and bootstrap files for testing Zend Framework applications. The document demonstrates how to write tests for Zend Forms and models, including testing with both valid and invalid data. It shows how to modify models to add validation filters and validators.
This workshop is a hands-on training where a real Zend Framework application is used as an example to start improving QA using tools to test, document and perform software metric calculations to indicate where the software can be improved. I also explain the reports produced by a CI system.
The document discusses the SOLID principles of object-oriented design:
1. The Single Responsibility Principle states that a class should have one, and only one, reason to change.
2. The Open/Closed Principle states that software entities should be open for extension, but closed for modification.
3. The Liskov Substitution Principle states that derived classes must be substitutable for their base classes.
4. The Interface Segregation Principle states that interfaces should be client specific.
5. The Dependency Inversion Principle states that high level modules should not depend on low level modules but on abstractions.
Watch Erik's presentation on PHP Unit Testing to gain familiarity with unit tests and unit testing here at Tagged, with the testing framework currently in place and also learn how to write (better) unit tests. Download his slides here or email him at ejohannessen@tagged.com.
This document summarizes some new features in PHP 5.4:
- Array syntax can now be written more concisely using square brackets instead of array functions.
- PHP 5.4 includes a built-in web server for development purposes, allowing PHP scripts to be run without Apache.
- Traits allow sharing of methods across classes to reduce code duplication, similar to mixins in Ruby.
- Closures now support accessing properties of the enclosing class scope via $this.
In 2010, I told everyone how to start unit testing Zend Framework applications. In 2011, let’s take this a step further by testing services, work flows and performance. Looking to raise the bar on quality? Let this talk be the push you need to improve your Zend Framework projects.
This document provides an introduction to test-driven development (TDD) and unit testing in PHP. It discusses where to start with TDD, what unit tests are, and tools to use like PHPUnit. It covers the red-green-refactor TDD cycle and topics like mocking dependencies, handling file systems and databases in tests, and continuous integration. The goal is to help PHP developers get started with TDD.
Postman is a tool for designing, sharing and testing APIs between a group of collaborators that range from the API developers down to the final clients, be them mobile apps or web apps.
This presentation focuses on using Postman's advanced free features, with a special focus on testing.
I have linked an example collection which I refer to several times during the presentation.
Section 1 - Fundamentals
Environments, variables, collections, and workspaces
Roles, VCS
Section 2 - Scripts & Testing
Pre request scripts and tests
Scopes
Pass data between requests
Section 3 - Integrated testing
Collection runners: read data from files, workflows
Monitors
CD/CI integration with Newman
Section 4 - More!
Documentation
Mock server
Integrations
Presentation showing that writing tests is not really hard with examples on testing a simple class, testing with dataproviders, fixtures, mocks, stubs, databases and how to use zend framework bootstrap for MVC testing.
Given at php|tek 09 unconf sessions.
Creating "Secure" PHP Applications, Part 1, Explicit Code & QAarchwisp
The document provides tips for writing more secure PHP code such as using typing assertions and avoiding global variables, recommends using tools like PHPMD and PHPCS to analyze code quality and identify issues, and emphasizes the importance of unit testing, continuous integration, and secure deployment practices.
Refactoring, Agile Entwicklung, Continuous Integration – all diese für nachhaltigen Erfolg wichtigen Vorgehensweisen setzen Erfahrung mit Unit Testing voraus. Abseits von den üblichen "Bowling"-Beispielen möchten wir gerne einen Crashkurs inkl. Best Practices für das erfolgreiche Unit Testing durchführen. Anhand eines Beispielprojekts auf Basis des Zend Frameworks werden wir nach der Installation von PHPUnit auf allen Notebooks gemeinsam eine kleine Applikation aufbauen, die durchgehend Test-driven entwickelt wird.
Everyone talks about raising the bar on quality of code, but it's always hard to start implementing it when you have no clue where to start. With this talk I'm shooing that there are many levels developers can improve themselves by using the right tools. In this talk I'll go over each tool with examples how to use them against your codebase. A must attend talk for every developer that wants to scale up their quality. Most PHP developers deploy code that does what the customer requested but they don't have a clue about the quality of the product they deliver. Without this knowledge, maintenance can be a hell and very expensive. In this workshop I cover unit testing, code measuring, performance testing, debugging and profiling and give tips and tricks how to continue after this workshop.
This document provides an introduction and overview of unit testing in PHP. It discusses what unit testing is, the benefits of unit testing, and some key aspects of unit testing like test isolation, automation, and speed. It also introduces the PHPUnit testing framework as the de facto standard for PHP unit testing. Examples are provided of unit testing a multiplication function with PHPUnit by creating test cases to assert expected outcomes. The document also discusses differences between unit testing and integration testing and refactoring code to be more testable through techniques like dependency injection.
Unlock The Mystery Of PHPUnit (Wave PHP 2018)ENDelt260
You know you're supposed to write unit tests, but you're not quite sure where to start. This session is for you. We will start from ground zero and go from zero unit test writing experience to functional test-driven developed code.
Using the current version of PHPUnit we will cover:
* writing basic test cases
* simple assertions and constraints
* mocking and data providers
* testing exceptions and errors
* and more!
You will leave this session fully ready to write tests for your own code.
This document discusses building REST APIs with Laravel 5. It covers topics like using REST instead of SOAP, authentication with basic authentication and middleware, response formats, controller hierarchy, repositories, data transformers, error handling, and an internal dispatcher for making internal API requests. The goal is to provide best practices and patterns for building robust and well-structured REST APIs with Laravel.
How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.
Similar to Load Testing with PHP and RedLine13 (20)
What is OCR Technology and How to Extract Text from Any Image for FreeTwisterTools
Discover the fascinating world of Optical Character Recognition (OCR) technology with our comprehensive presentation. Learn how OCR converts various types of documents, such as scanned paper documents, PDFs, or images captured by a digital camera, into editable and searchable data. Dive into the history, modern applications, and future trends of OCR technology. Get step-by-step instructions on how to extract text from any image online for free using a simple tool, along with best practices for OCR image preparation. Ideal for professionals, students, and tech enthusiasts looking to harness the power of OCR.
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...Hironori Washizaki
Hironori Washizaki, "Charting a Course for Equity: Strategies for Overcoming Challenges and Promoting Inclusion in the Metaverse", IEEE COMPSAC 2024 D&I Panel, 2024.
Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Load Testing with PHP and RedLine13
1. Load Testingwith Jason Lotito
“Guaranteed to be the best talk on load testing
with PHP @ MidwestPHP 2016 during that time
slot in that room with me as the speaker"
2. Jason Lotito
• DevOps Lead Architect
• MeetMe.com
• @jasonlotito
• jasonlotito.com
• jlotito@meetme.com
10. Load Testing
• Putting demand on a system
• Determine behavior under
load
• Determine maximum operating
capacity
• Discover Bottlenecks
• Determining steps to increase
operating capacity
• Optimize for costs
11. Other Load Testing Tools
• ApacheBench (ab)
• Apache JMeter
• siege
• BlazeMeter
• and many more…
14. Why RedLine13?
• Simple, up and running in little time
• Freemium, free level you only pay AWS
• Scriptable (PHP, Node.js)
• AWS for Infinite Scalability™
• I know Rich, one of the founders
15. RedLine13 has a bunch of features you can read
about on the website. I’m really here to talk to
you about the cool stuff I do with RedLine13.
55. You can use error reporting to
simulate real time logging
Errors show up in real time, logs show up after
the test is completed. Use error reports to let you
know if you should stop your load test.
67. Things You Need
• Production-level systems to test against
• Monitoring
• Automated systems to deploy changes
• Dedicated people
• A time to test (load testing day!)
68. Things You Need
• Goals, such as
• 500 requests per second
• 90th percentile @ 50ms
69. Planning the Load Test
• Start at what you expect normal traffic to be
• 500rps
• Start a second test that is just the burst traffic
• 900rps
• Ramps up over 20 mins
• Lasts 40 mins at peak
• Ramps down over 20 mins
70. Learning
• Is proper monitoring setup?
• Is a scaling plan in place? Can you scale?
• What happens to the app under load?
• What slows down first?
• Are things alerting as expected?
71. As Load Tester, you are responsible for…
• Ensuring those involved with the system under test are
aware and available
• Putting the system under test under load
• Completely destroying the system under load
• Providing a clear and concise write up of exactly what
occurred
• Take charge! It’s fun!
74. Reporting Results: Short Version
• Short version: During an hour starting with 0rps to 1400 rps
in the first 10 minutes....
• ...when starting with 5 instances and scaling to 11
instances, the response times were: 50% 23ms, 75% 54ms,
95% 303ms, and 99% 1069ms.
• ...when starting with 11 instances, the response times
were: 50% 16ms, 75% 24ms, 95% 45ms, and 99% 59ms.
75. Reporting Results: Detailed Version
• Provide more information
• Results
• Story driven
• Have data supporting results prepared in case
• Account for changes such as auto-scaling
• With auto-scaling: 99% at 1069ms
• Without auto-scaling: 99% at 59ms
76. Testing elasticsearch on c3.4xlarge
Detailed Reporting
Also included in this report
was a link to the actual
GitHub repository. Make sure
you are keeping your load
tests in version control!
77. Tag your load test in git
Associate the tag with a Load Test,
so you can replay any load test easily
79. Things to Keep In Mind
• Understand expected usage
• X% of users using the app while
• Y% are chatting with one another
• Users are logging in
• Creating accounts
• Backend systems
• Determine what’s important
80. Things to Keep In Mind
• User input
• Random filters
• Weighted filters
• Cached results are expected
• Client constraints
81. Things to Keep In Mind
• User flow through service
• Try to understand how users use the app
• Script should try to mimic
82. Things to Keep In Mind
• Be careful about testing a single system
• System will have logging
• System will have backend services
• You’d be surprised what can cause failure
• A load test helps you learn before it’s in production
83. Things to Keep In Mind
• User interaction
• MeetMe is social, so we’ve load tested chatting
• 1 test per 2 users, both chatting with one another
84. Things to Keep In Mind
• Have developers available
• Better, have developers with you when load testing
85. Things to Keep In Mind
• Find a problem, Fix it, Reroll app, Rerun test
• FFRR, or F2R2
• I just made that up
• Don’t use it.
86. Things to Keep In Mind
• Start testing from your laptop
• Seriously, my MacBook Air could bring down Erlang
services
• Database indexes are a thing
• While running a load test, you can run a single client form
your laptop
87. Things to Keep In Mind
• Someone should be testing the app/service as well
• Response times are only a number
• What does 50ms vs 300ms response times feel to the user
• What impact does 2x/3x/4x load have
• When auto-scaling, how does the client handle
88. Things to Keep In Mind
• Review how the client is using the API
• Review how the API developer expects the client to use the
API
• Model after what the client is doing
• Call out differences early