I am trying to get high throughput(TPS) in Hyperledger fabric.
The performance is 63 Tx per sec. so far. I have done some works with batch-timeout and batch-size parameters. However, I am still working on concurrency(parallel validation) and cacheing in the core.yaml.
Problem:
The direct editing with the parameters in the core.yaml does not change any performance at all.
Goal:
Change parameters in the core.yaml file.
I will be really glad to get your any advice or recommendation to improve throughput of Hyperledger Fabric.
Please help.
Thank you.
Related
Hi stack Overflow community,
i need your valuable help
I developed a script for our web application using Jmeter and Blazemeter chrome plugin
Scenario as
login >> walkthrough some pages >>logoout
Script working successfully in our local environment. I am using summary report as a Listener and non Gui mode for performing test
Now i need to do load testing for 250 usesr on client production environment.
measurement points are
1.Response time for each request
2.Data traffic Size
3.CPU and memory utilization
i have so many questions:
1.what all points i need to consider when I run my script on production environment
2.Do i need to add ramp up time.
3. real environment have having proxies and load balancers.(our local doesn’t have)
4.Do I need to keep all .png, css ,gif as recorded by tool or I can disable them.is it effect my results?
what changes i need to do to make my script compatible to such environment.
Considering i a m new to Jmeter and automation testing and no help on this tool other than blogs, stack overflow community and google.
Very much tense about its real implementation.
Thanks in advance as u help someone to grow.
Do i need to change structure of my script also. if no Kudos to me ,if yes plz direct me, appreciate if someone provide screenshot for right type of structure .
Below are the points which should answer most of your questions:
You should not run script on Production environment if your product is live, you should run it on production like environment.
You can only simulate APIs so no css, png are required.
Ramp up you will have to decide as per your requirement.
Structure can be divided in transactions, it would be more proper.
You need to check your script once with the Production like environment as it is having proxies and load balancers which your local environment does not have.
Whatever things you need to measure, there are different plugins available for it on Jmeter.
Do make sure most of the things are parameterized as much as possible.
When running your test, monitor both database as well as application server.
For more details or reference you can go through below urls:
https://www.blazemeter.com/blog/getting-started-jmeter-basic-tutorial
http://www.seleniumtests.com/p/performance-testing-videos.html
Based on the training videos I have watched, they all talk about the composer as something you use to "define and test your business network", but it almost feels like once its verified and tested, you throw it away and use something more serious. Am I wrong? Even term "playground" feels "experimental" -- something you mess with, but thats all. So, would you build a production system based on composer? How do you split it into multiple machines for redundancy? If composer is so slick and the "obvious" choice for building hyperledger applications, when would you NOT use it and use Fabric or Sawtooth instead? I am trying to get started and dont want to waste time on the wrong path. If you were to build a "serious" supply chain application with multiple players, what framework approach would you take? Thank you
Hyperledger Composer is not a separate platform. It uses Hyperledger Fabric "under the hood". The main problem with Composer is it does not have all the options and features of Fabric exposed in the Composer interface. So, it allows for rapid prototyping at the expense of flexibility. Composer has an impressive user interface.
Unfortunately, Composer is now in maintenance mode with no new features being put into it. See https://lists.hyperledger.org/g/composer/message/125
I would consider Hyperledger Sawtooth or Hyperledger Fabric for permissioned blockchain applications.
I have taken as an example for learning and gathered some information about tools, objectives,scenarios, but I need your inputs. Please assist me.
I am new to Performance testing and would like to test the following website www.volkswagen.co.nz
Can you tell me, what are need to be tested? What are the scenarios and activities for each scenario? What metrics do I need to add? Which is the best and free tool for testing it? How to test if it is deployed in cloud like AWS?
Please let me know, Thanks in advance.
Performance testing needs,
Identify critical/heavy/important scenario in your webapp (irrespective of deployment cloud/standalone)
Identify service level agreements in terms of response times, throughput, latency etc.
Identify workload model i.e. how much user load application is expecting. this should be as fine grained as possible (avg users per transaction/workflow at a point of time)
Identify tools (JMeter is freeware and best but if you can afford paid then look at loadrunner, neoload etc.)
Record the script for workflows and parameterise and correlate.
generate test setup for load test and execute the load test.
monitor system utilization, collect metrics like response time, throughput, error rate, latency etc.
This all comes in load testing. For more you can read http://www.guru99.com/performance-testing.html
I am new to Performance testing and would like to test the following website www.volkswagen.co.nz
That is a recipe for disaster. No one new should be allowed to work on their own without a full period of training and internship with a master in the field. This is true of stone masons, electricians, plumbers, barbers, accountants, engineers and physicians. And it is most certainly true of performance testers/engineers.
There are dozens of foundation skills you need to master before you touch any tool, open source or otherwise. Until you show mastery of those items along with tool mechanics for your tool you should not be allowed to test any website, particularly a production website. And, if you don't work for this company what you are engaging in is a denial of service attack and could leave you with exposed legal liability.
I strongly agree with James on this one.
Do not touched the site if:
it's not yours
not sure what you are doing
the owner gave you explicit (and sounds like irresponsible) permission
don't know or don't have the support to restore the environment into a working state
If you do work for the company then you need to have a test environment first, a playground where you can mess around and nobody would mind if you take it down.
Firstly get information from the business on which use cases needs to
be tested.
Get response times target for user actions and for environments utilisation.
Get response time targets for environments utilisation: define environment monitoring tactics.
Found a tool that can fit for purpose: Jmeter, Gattling,etc, lot's of free ones available.
Get a test environment, preferably similar scale to production
Create scripts to cover critical use cases
Comply scripts into scenarios
Create a reporting framework
Kick off monitoring
Kick off scenario
Collect and analyse results
Be mindful of the free editions of load testing tools: they tend to be easy to use at first but soon as you start to outgrow it it can cost a fortune and more often then not it's hard to port scripts/scenarios to another tool.
I'm in the process of choosing a technology for my high-throughput web server. I've created two naive implementations, one in Go and one in Elixir, using Phoenix.
I've deployed these versions on an extra large machine on AWS, and used siege to benchmark their performance.
I've managed to increase Go's performance after setting the GOMAXPROCS, but running the Elixir version seems to reach its peak performance long before it fully utilizes the machine's CPU or memory.
I couldn't seem to find any documentation or explanation on how I can fine-tune cowboy's behavior in production settings, so it will properly utilize the machine it runs on, and produce the performance everybody talks about...
I'm pretty sure that there is a simple place (file or environment variable) where I can tweak a value or two to produce much better results.
Can anyone tell me where that place may be?
Following the suggestions in the comments, I've re-implemented my project using plug instead of phoenix.
With the same functionality (parsing post body to JSON, calling DynamoDB, reading from an Amnesia table and formatting a JSON response) I've received a much better performance, with far more resource utilization.
I guess I can still "milk" a few more requests per second (currently I get around 500 requests per second), but it is now on-par with the Go implementation of the same thing...
I don't have enough rep to comment directly, so I'll answer here. I'd love to see the numbers you got with Phoenix. Were you running in prod mode? Perf will be much slower if you were running in dev (the default) since code reloading is enabled and checking on every request. Vanilla Plug is going to be doing less work than Phoenix, but not much less. A standard Phoenix Router/Controller should be more or less inline with the Plug code you end up with.
I am creating a ecommerce website in magento. I want to use stress testing on my website to see How robust is my website and how much load it can bear. I have gone through a lot of stuff for that but I could not find something satisfactory. Please suggest me some tools for doing that and can i do it on localhost?
You can use jmeter, apache bench, siege to load test your website.
Try increasing the load on your server with these tools. And find the maximum number of clients that your application can handle. Then increase more load to see how more it can take before it breaks.
Recently I did some load testing on a streaming server with flazr. Server were working fine till 400 concurrent connection. After 400 it starts to become slow and when its 450 it breaks. So 400 was the maximum number of connection it supports. But if its near 450 I'll try to decrease load to save my server or increase the hardware capacity like RAM, CPU, NIC
Some links might be usefull
Bench-marking site performance with apachebench
Simple is Hard a siege is being used by Rasmus Lerdorf on a Talk
SQA.SE answer on where can I find good jmeter tutorials
I used Jmeter to test load and performace of the Magento website. Jmeter is good validator tool and generate quit efficient analysis report. Jmeter is quit useful for small and medium business to test website load and performance and it is free from any license.