Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
http-benchmark
Advanced tools
Readme
Scriptable Http performance Scenario utility for any webapp. Easily performance test backend API layers and client facing sites in parallel with development.
npm install http-benchmark
When testing large number of concurrent requests you may experience issues related to native HTTP library limitations or OS limitations. Here are some symptoms and recommended fixes:
You are probably getting the following error: {"0":{"code":"EMFILE","errno":"EMFILE","syscall":"connect"}}
Which basically means you have run out of available connections on your machine.
If you are on a *nix box increase your ulimit to a large number.
You can view your current open file limit with the following command, or Google 'ulimit' for more info.
> ulimit -u
You may encounter this error with large numbers of concurrent requests over HTTPS. If you inspect your packet traffic you will see many seconds of time spent by Node's HTTPS module negotiating secure communication: Cipher exchange, etc. You can approach the issue in two distinct ways:
The below example will create 10 parallel workers. Each worker will execute 5 actions in batches delayed 1000ms. The action will be a single Http request to Google. Each action is non-blocking and will execute 1000ms apart. A basic report will be displayed that shows statistics about the scenario as it plays out. A total of 50 requests will be made.
Scenario = require 'http-benchmark'
scenario = new Scenario()
scenario
.get 'https://www.google.com#q=apple'
.concurrency 10
.actions 5
.throttle 1000
.report()
.start()
Scenario = require 'http-benchmark'
scenario = new Scenario()
data =
foo: 'bar'
goo: 100
scenario
.post 'https://www.google.com/upload', data
.post 'https://www.google.com/upload', 'foo=bar&goo=100', 'application/x-www-form-urlencoded; charset=UTF-8'
.cookie 'name=value;domain=.google.com;path=/;secure=true'
.cookie 'another=value;domain=.example.com;path=/'
.concurrency 10
.actions 5
.throttle 1000
.report()
.start()
To accurately performance test a web app you need to put the system under production like load. Typically you would want to spin up requests to all parts of your system in parallel to the new feature/service your testing. Chained scenarios are one answer to this problem. In the below example we chain Scenario's together to create tests that match real world load. Each new scenario is given a separate option block, worker, runner, and reporter. The first scenario produces 10,000 requests 10 per batch, each batch 10ms apart, to Google's main page 'www.google.com'. The second scenario exercises Google's search, 40 workers submitting 100 search requests with a 5s delay between request.
Since each scenario will execute simultaneously we can test the search components performance while the main system is being exercised too.
Scenario = require 'http-benchmark'
scenario = new Scenario()
scenario
.get 'https://www.google.com'
.concurrency 10
.actions 1000
.throttle 10
.report()
.start()
.get 'https://www.google.com#q=orange'
.get 'https://www.google.com#q=grape'
.get 'https://www.google.com#q=avocado'
.get 'https://www.google.com#q=fig'
.concurrency 10
.actions 100
.throttle 5000
.report()
.start()
FAQs
Scriptable Http performance scenario utility for any webapp. Easily performance test backend API layers and client facing sites in parallel with development.
The npm package http-benchmark receives a total of 6 weekly downloads. As such, http-benchmark popularity was classified as not popular.
We found that http-benchmark demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.