awsmeter | JMeter plugin to execute load test | Pub Sub library
kandi X-RAY | awsmeter Summary
kandi X-RAY | awsmeter Summary
JMeter plugin to execute load test over Kinesis Data Stream, SQS Standard and FIFO Queues, SNS Standard and FIFO Topics AWS services.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- This method is used to publish a single message
- Build message attributes map
- Create a publish request on SNSO
- Build Message attributes
- Setup producer
- Build AWS SDK Basic credential provider object
- Gets AWS Session token
- Gets the AWS region
- Starts a message on a single threaded queue
- Sets the sample result as successful
- Capture a new sample result
- Mark a sample result as failed
- Perform a single test test
- Constructs a publish request to the SNS Standard topic
- Perform a Data Record and publish the DataStore
- Build put record request
- The main method for executing the test
- Builds a send message request
- Gets default parameters
- Build static credentials provider object
- Close producer
- Shuts down the SNS client
- Tries to close the Kinesis Producer
- Setup the test sampler
- Get default parameters
- Get initial parameters
awsmeter Key Features
awsmeter Examples and Code Snippets
Community Discussions
Trending Discussions on Pub Sub
QUESTION
In R, I want to build json content according this Google Cloud Pub Sub message format: https://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage
It have to respect :
...ANSWER
Answered 2022-Apr-16 at 09:59Not sure why, but replacing the dataframe by a list seems to work:
QUESTION
My basic requirement was to create a pipeline to read from BigQuery Table and then convert it into JSON and pass it onto a PubSub topic.
At first I read from Big Query and tried to write it into Pub Sub Topic but got an exception error saying "Pub Sub" is not supported for batch pipelines
. So I tried some workarounds and
I was able to work around this in python by
- Reading from BigQuery-> ConvertTo JSON string-> Save as text file in cloud storage (Beam pipeline)
ANSWER
Answered 2021-Oct-14 at 20:27Because your pipeline does not have any unbounded PCollections, it will be automatically run in batch mode. You can force a pipeline to run in streaming mode with the --streaming
command line flag.
QUESTION
We are using Pub Sub lite instances along with reservations, we want to deploy it via Terraform, on UI while creating a Pub Sub Lite we get an option to specify Peak Publish Throughput (MiB/s) and Peak Subscribe Throughput (MiB/s) which is not available in the resource "google_pubsub_lite_topic" as per this doc https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/pubsub_lite_topic.
...ANSWER
Answered 2022-Feb-20 at 21:46If you check the bottom of your Google Cloud console screenshot, you can see it suggests to have 4 partitions with 4MiB/s publish and subscribe throughput.
Therefore your Terraform partition_config
should match this. Count should be 4 for the 4 partitions, with capacity of 4MiB/s publish and 4MiB/s subscribe for each partition.
The "peak throughput" in web UI is just for convenience to help you choose some numbers here. The actual underlying PubSub Lite API doesn't actually have this field, which is why there is no Terraform setting either. You will notice the sample docs require a per-partiton setting just like Terraform.
eg. https://cloud.google.com/pubsub/lite/docs/samples/pubsublite-create-topic
I think the only other alternative would be to create a reservation
attached to your topic with enough throughput units for desired capacity. And then completely omit capacity
block in Terraform and let the reservation decide.
QUESTION
I have a User that needs to be able to query and create Jetstream keyvalue stores. I attempted to add pub/sub access to $JS.API.STREAM.INFO.* in order to give the User the ability to query and create keyvalue stores:
...ANSWER
Answered 2022-Jan-31 at 16:16Should be:
nsc edit user RequestCacheService --allow-pubsub '$JS.API.STREAM.INFO.*'
With single-quotes around the subject. I was under the impression that double & single quotes would escape the $
but apparently only single-quote will escape special characters in the subject.
QUESTION
I am deciding if I should use MSK (managed kafka from AWS) or a combination of SQS + SNS to achieve a pub sub model?
Background
Currently, we have a micro service architecture but we don't use any messaging service and only use REST apis (dont ask why - related to some 3rd party vendors who designed the architecture). Now, I want to revamp it and start using messaging for communication between micro-services.
Initially, the plan is to start publishing entity events for any other micro service to consume - these events will also be stored in data lake in S3 which will also serve as a base for starting data team.
Later, I want to move certain features from REST to async communication.
Anyway, the main question I have is - should I decide to go with MSK or should I use SQS + SNS for the same? ( I already understand the basic concepts but wanted to understand from fellow community if there are some other pros and cons)?
Thanks in advance
...ANSWER
Answered 2022-Feb-09 at 17:58MSK VS SQS+SNS is not really 1:1 comparison. The choice depends on various use cases. Please find out some of specific difference between two
- Scalability -> MSK has better scalability option because of inherent design of partitions that allow parallelism and ordering of message. SNS has limitation of 300 publish/Second, to achieve same performance as MSK, there need to have higher number of SNS topic for same purpose.
Example : Topic: Order Service in MSK -> one topic+ 10 Partitions SNS -> 10 topics
if client/message producer use 10 SNS topic for same purpose, then client needs to have information of all 10 SNS topic and distribution of message. In MSK, it's pretty straightforward, key needs to send in message and kafka will allocate the partition based on Key value.
Administration/Operation -> SNS+SQS setup is much simpler compare to MSK. Operational challenge is much more with MSK( even this is managed service). MSK needs more in depth skills to use optimally.
SNS +SQS VS SQS -> I believe you have multiple subscription(fanout) for same message thats why you have refer SNS +SQS. If you have One Subscription for one message, then only SQS is also sufficient.
Replay of message -> MSK can be use for replaying the already processed message. It will be tricky for SQS, though can be achieve by having duplicate queue so that can be use for replay.
QUESTION
After following the dataflow tutorial, I used the pub/sub topic to big query template to parse a JSON record into a table. The Job has been streaming for 21 days. During that time I have ingested about 5000 JSON records, containing 4 fields (around 250 bytes).
After the bill came this month I started to look into resource usage. I have used 2,017.52 vCPU hr, memory 7,565.825 GB hr, Total HDD 620,407.918 GB hr.
This seems absurdly high for the tiny amount of data I have been ingesting. Is there a minimum amount of data I should have before using dataflow? It seems over powered for small cases. Is there another preferred method for ingesting data from a pub sub topic? Is there a different configuration when setting up a Dataflow Job that uses less resources?
...ANSWER
Answered 2022-Feb-03 at 21:43It seems that the numbers you mentioned, correspond to not customizing the job resources. By default streaming jobs use a n1-standar-4 machine:
3 Streaming worker defaults: 4 vCPU, 15 GB memory, 400 GB Persistent Disk.
4 vCPU x 24 hrs x 21 days = 2,016
15 GB x 24 hrs x 21 days = 7,560
If you really need streaming in Dataflow, you will need to pay for resources allocated even if there is nothing to process.
Options:
Optimizing Dataflow
- Considering that the number and size of the JSON string you need to process are really small, you can reduce the cost to aprox 1/4 of current charge. You just need to set the job to use a n1-standard-1 machine, which has 1vCPU and 3.75GB memory. Just be careful with max nodes, unless you are planning increase the load, one node may be enough.
Your own way
- If you don't really need streaming (not likely), you can just create a function that pulls using Synchronous Pull, and add the part that writes to BigQuery. You can schedule according to your needs.
Cloud functions (my recommendation)
- You can create a serverless Event-Driven Cloud Function with a Cloud Pub/Sub trigger. This way, considering your low volume, you can take advantage of the Free Tier and keep the real time processing:
"Cloud Functions provides a perpetual free tier for compute-time resources, which includes an allocation of both GB-seconds and GHz-seconds. In addition to the 2 million invocations, the free tier provides 400,000 GB-seconds, 200,000 GHz-seconds of compute time and 5GB of Internet egress traffic per month."[1]
QUESTION
I need to have a TCP client that listens to messages constantly (and publish pub sub events for each message)
Since there is no Kafka in GCP, I'm trying to do it using my flask service (which runs using AppEngine in GCP).
I'm planning on setting the app.yaml
as:
ANSWER
Answered 2021-Dec-27 at 16:07I eventually went for implementing a Kafka connector myself and using Kafka.
QUESTION
Trigger a function which updates Cloud Firestore when a student completes assignments or assignments are added for any course.
ProblemThe official docs state that a feed for CourseWorkChangesInfo
requires a courseId
, and I would like to avoid having a registration and subscription for each course, each running on its own thread.
I have managed to get a registration to one course working:
...ANSWER
Answered 2021-Dec-22 at 08:48This is not possible.
You cannot have a single registration to track course work changes for multiple courses, as you can see here:
File a feature request:Types of feeds
The Classroom API currently offers three types of feed:
- Each domain has a roster changes for domain feed, which exposes notifications when students and teachers join and leave courses in that domain.
- Each course has a roster changes for course feed, which exposes notifications when students and teachers join and leave courses in that course.
- Each course has a course work changes for course feed, which exposes notifications when any course work or student submission objects are created or modified in that course.
If you think this feature could be useful, I'd suggest you to file a feature request in Issue Tracker using this template.
Reference:QUESTION
I've a method X that's getting data from the server via pub sub. This method returns a flow. I've another method that subscribes to the flow by method X but only wants to take the first 3 values max from the flow if the data is distinct compared to previous data. I've written the following code
...ANSWER
Answered 2021-Dec-17 at 19:13You have a Flow>
here, which means every element of this flow is itself a list.
The take
operator is applied on the flow, so you will take the 3 first lists of the flow. Each individual list is not limited, unless you use take
on the list itself.
So the name transformedListOf3Elements
is incorrect, because the list is of an unknown number of elements, unless you filter it somehow in the map
.
QUESTION
I am working with a Java API from a data vendor providing real time streams. I would like to process this stream using Akka streams.
The Java API has a pub sub design and roughly works like this:
...ANSWER
Answered 2021-Oct-26 at 13:31To feed a Source
, you don't necessarily need to use a custom graph stage. Source.queue
will materialize as a buffered queue to which you can add elements which will then propagate through the stream.
There are a couple of tricky things to be aware of. The first is that there's some subtlety around materializing the Source.queue
so you can set up the subscription. Something like this:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install awsmeter
Before use awsmeter for the first time, complete the following task:.
AWS Account: You need aws account to use their cloud compute services, it is free you only paid for the services used. Steps to create and active new aws account. AWS has free tier for 12-months to use some products or services, more details here. You can use AWS products and services in different regions around the world, when sig-in you can choose the region you want.
IAM user: You need create new AWS IAM user with programmatic access to connect AWS service end-point using an access key ID and secret access key. Good practice is create new user instead use user root because you can grant the least privilege over the services for the new user. Steps to create IAM User.
IAM Group: You need create an IAM Group to attach policies to multiple IAM Users. Groups let you specify permissions over the AWS services you need to access, remember grant the least privilege.
IAM Policy: Policy define the permissions for an action over AWS service that IAM Identity (User, Group or Role) can execute. We are going to specify which policies we need to attach to IAM Group to execute test for each service in the next sections.
Credential and Config files (optional): You need store the access key id and secret access key in a local file named credentials, in a folder named .aws in your home directory, also you can use AWS CLI to set up credentials file. You can store multiple set of access key and secret access key using profiles and specify the AWS region to connect. Configure and credential file settings
AWS CLI (optional): AWS Command Line Interface (CLI) is a tool to communicate with AWS through commands that can create and configure AWS services. You can use the command aws configure to create and initialize credentials and config files. Installing AWS CLI
JMeter: Download JMeter and follow the steps in Install section.
To start using awsmeter is necessary use JMeter, if you don't have experience working with JMeter you can see this video tutorial for JMeter Beginners.
aws_access_key_id: When you create IAM user with programmatic access aws assign an access key id, use it value here. Leave this parameter empty if you want to get the access key id from credentials file in .aws folder in your home directory.
aws_secret_access_key: AWS gives you a secret access key when you create an IAM User with programmatic access also, you only can show or download it value after finish creation of the user. Leave this parameter empty if you want to get the secret access key from credentials file in .aws folder in your home directory.
aws_session_token: Specifies an AWS session token used as part of the credentials to authenticate the IAM user. A session token is required only if you manually specify temporary security credentials. Leave this parameter empty if you are not using temporary credentials.
aws_region: The aws region where aws services are. AWS Regions and Zones Leave this parameter empty to use the aws region defined in config file in .aws folder in yor home directory.
aws_configure_profile: Use profile to group a collections of settings and credentials. When you have multiple aws accounts (AWS Organization) you can use profile to classify credentials for each AWS account. The main profile is 'default', choose other that you have in credentials and config files.
Kinesis Data Stream
SQS
SNS (Working in progress)
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page