All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
Matthew Tift talks with James Sansbury and Matt Westgate about the history of Lullabot, building a team of Drupal experts, and moving away from the phrase "rock star." Ideas about "rock stars" can prevent people from applying to job postings, cause existing team members to feel inadequate, or encourage an attitude that doesn't work well in a client services setting. Rather than criticize past uses of this phrase, we talk about the effects of this phrase on behavior.
What is the ideal number of players to have at your table for any given game? Is it three? Four? Five? EIGHT?!? Ask a dozen GMs and you’ll probably get a dozen slightly different answers.
Recently, I was checking my events for an upcoming con and noticed the player limit was five. I panicked slightly, since this was for a game I designed for six players and while I can run it for fewer, the game is about the secrets between the characters and can lose some of its spark if certain characters aren’t in play. Shortly after this panic, a friend asked about my preferred number of players, sparking a conversation about how running games changes depending on the number of players at your table.
When I first started GMing, I thought if you couldn’t run for at least eight players, you were a subpar GM. In part, this was based on my memories of games from the 90’s and some of the oversized groups from my college days. Because of this, many of the early games I brought to cons had eight characters for the players to choose from and I would always accept eight players at the table. Later on, when I started getting into more indie, more story-based games, I was surprised to find many of them advocating for having only four or five players. Heck, I nearly got myself into trouble the first time I ran Headspace, because I put six seats in for the event only to realize the game kind of needs you to run for five or less.The more I talk to other GMs, the more I realize everyone has their own threshold for what they consider a good or manageable table size. Share1Tweet1+11Reddit1Email
The more I talk to other GMs, the more I realize everyone has their own threshold for what they consider a good or manageable table size. It definitely varies depending on the game being played, but everyone has their own perceptions of what a ‘good’ table looks like. Of course, many folks will speak of their preferences as if they were an absolute and look at anyone who varies from that preference as if they were insane.
Your mileage may vary on what constitutes a small, medium, or large group, but here are *MY* thoughts and advice on various table sizes:Small Groups
- I consider a small group one that contains three or fewer players, plus the GM.
- With a tiny group of players, the GM has to be ‘on’ far more. You get fewer moments where the players carry the action through interactions with one another, allowing you to take a moment to breathe. They look to the GM to fill the void. I tend to find this exhausting, which is why I prefer a larger table.
- Games tend to finish faster than expected. With fewer players, there are fewer distractions, allowing them to get through any planned material quicker. While the focus the players can have on the game is nice, it can be difficult to fill the standard four-hour time slot at a game convention.
- A small table allows for a more intimate focus on each character’s story without sacrificing spotlight time from anyone else at the table. With fewer players, you can interweave all their stories into the main story of the game easier.
- My medium groups contain four to six players, plus the GM.
- These are probably the average (ha!) size seen most often for home groups and at cons. My preference usually leans towards this size. There’s enough interplay between the players, but the group is small enough I feel like I can still give everyone the right amount of attention.
- Many games are designed around the dynamic of four to six players, so going with fewer or more players requires being mindful of any potential changes to the game’s balance. You can generally assume a game is going to run as described in the rules when you fall into this sweet spot. Another benefit is that any modules or other prepared material are designed for this number of players, often making the GM’s job easier.
- This size group usually offers a good balance for mixing experienced and inexperienced players, or passive and active players. You can still spread your focus equally among the players, but sit back and let some of the active/experienced players take a lead in roleplaying scenes or discussions.
- I would call any group with seven or more players, in addition to the GM, a large group.
- Large groups allow getting more people involved in the game and prevent having to leave one or two people out. Occasionally, with a slightly larger group, it can end up being more fun to have one large table than splitting into to two small tables.
- Certain games will work better for larger groups. The simpler the mechanics are, the less lag time you’ll have as players progress through the game, hopefully keeping everyone focused on the game. Complicated mechanics can often drag the game down. Lighter games focused on humor also tend to work better than more serious games, unless you are prepared to handle the game more like a LARP than a traditional tabletop RPG.
- The GM has to function like a circus ringmaster, keeping the game moving and shifting the spotlight around the table while making sure everyone gets a chance to do something. This can be taxing on a GM, and it can be harder to reign in dominant players while pulling in quieter players.
We all have our preferences for the style and size of game we prefer to both run and play, but that doesn’t necessarily mean another style and size is going to work for someone else. I generally don’t enjoy larger games, but I appreciate the artistry and efforts of the GMs who somehow make those massive tables work and all their players walk away from the table with smiles on their faces.
What’s your sweet spot for the number of players you run for? Do you have some tips and tricks to offer for running smaller or larger tables? I’d love to hear your advice too.
EvolvingWeb Co-Founder Suzanne Dergacheva spills on why she recently joined the Drupal Association, what's happening with Drupal in Montreal, and the Oboe.
We all have learned in our biology classes that genes are made up of DNA which gives instructions to the body to grow, develop and live. In other words, it is like a blueprint or like a recipe which guides an individual to do a particular task.
Just like DNA is important to impact a human body, Drupal distributions are necessary to build and create a social impact platform for your projects and website.
How Building a Social Impact Platform With Drupal Distributions Do Well to a Project?
Social impact is and must be the primary goal and measure for every social initiative. Measuring social impacts urges organizations not to only focus on the economic or financial factor, but to access their influence across the environmental and social dimensions.
A distribution packages a set of contributed and custom modules together with Drupal core to optimize Drupal for a specific use and industry. Drupal distribution has evolved from an expensive lead generation tool to something which offers a service at a large scale. Some of the Drupal distributions like:
OpenSocial is a free Drupal distribution for constructing private social networks and an out of the box solution for online communities. Open Social is a distribution that is built in Drupal 8 to construct social communities and intranets. It is built in Drupal 8, and it wraps in itself in an array of possibilities leveraging the features of Drupal 8.
In the Drupal community, Open Social is placed as a successor of Drupal Commons. Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website.
- A case study on Pachamama
Pachamama approves the inherent people of the Amazon rainforest to protect their lands, culture, educate and inspire people everywhere to bring forth a growing and sustainable world. Drupal was chosen for its flexibility and customizable features.
Drupal was appointed for its versatility and customizable features. For example, Pachamama grants an on- and offline ‘Awakening the Dreamer’ course. In the course module, the user can walk through a step-by-step course program and finish with video, text or an opportunity to keep track of the development and progress. To make this possible within the Pachamama Alliance platform integration of a course module into the Open Social platform was done.
A distribution developed and maintained by Acquia. This distribution provides a framework or starting point of Drupal 8 projects that require more advanced layouts.
The developers have been provided with hundreds of embedded automated tests that allow them to implement continual integrations pipelines. It controls major functionality, essentially granting a safe environment to innovate with their own custom code additions to Lightning.
- A case study on Higgidy
Higgidy is a thriving business, offering incredible high-quality food that is sold in supermarkets. Drupal 8 was chosen for this project based on numerous factors.
The potential for future upgrades to make commerce into the platform was also an engaging benefit, enabling the user to assure that they don’t end up with a fragmented tech stack divided across many platforms.
Being mobile-driven was a core concern of the platform selection, and Drupal 8 presented with a seamless content experience every time.
One of the primary and most important decisions was to make use of the Lightning. This gave a great head start for a site of this nature, right out of the box, presenting some very important components and assuring that they are able to get going. The site was essentially powered by Views coupled with some custom serialization.
This is an Open source e-learning platform based on Drupal that enables the user to accomplish online training, skills of students and employees. Opigno is an open source e-learning platform that is based on Drupal. It allows the user to control online training, and efficiently guarantee that student, employee and partner skills remain up to date.Opigno LMS is intended for Companies, Corporations, and Universities, looking for an e-learning solution that is flexible and is easily scalable.
Drupal Commerce is an open-source eCommerce software that augments the content management system Drupal. It helps in managing eCommerce websites and applications of all the sizes.
This distribution also helps in enforcing strict development standards and leveraging the greatest features of Drupal 7 and major modules like Views and Rules for maximum flexibility.
- Drupal Commerce helping the community: A case study on Sosense
Sosense supports entrepreneurs who address some of the most challenging social and environmental problems. Drupal was selected for this project because it was one of the most relevant frameworks that build a scalable platform.
Sosense demand was to rebrand and redevelop their first, custom-developed, platform to develop technical scalability, usability, and interaction design. The project work was simple yet appreciatively challenging. One side it drew from our expertise in creating community- and fundraising solutions. On the other side, Sosense was one of the first complex sites to apply Drupal 7 where many important modules were still in dev status.
Testing and debugging modules like Organic Groups, Drupal Commerce and i18n, required many unexpected hours of work. The agile project management approach allowed us to tackle some of the unexpected issues with frequent releases and constant client interaction. The project was delivered on time and to the full satisfaction of our client.
This is the distribution which is for churches and ministries. A flexible platform with common features of the church helping them streamline development of the website. Some of the features of this distribution are:
- Blog - It includes a list page and archive page, the blog content type is very easy and this does not use the core blog module.
- Bulletin - Includes block for downloading latest bulletin, also a list page and content type.
- Events - Includes an event content, filtered by the ministry and responsive calendar.
- Gallery - Integrates with ministry content and is an easy way to manage galleries.
- Giving - Includes list display for featured charities
- Homepage Rotator - a very nice way to feature content on the homepage in a slideshow which is a very common feature on sites today.
- Ministry - this represents a church's core ministries (Missions, Youth, etc.) and integrates with other content on the site.
- Podcast - An out of the box sermon podcast page. Also includes a block for showing the most recent podcast. It is called labeled 'Sermons' but can be used for any kind of podcast.
- Social - Social integration with Twitter, Facebook, Google+ and more! Enable visitors to share content with their social networks.
- Staff - Includes staff page and integration with well with ministries.
- Video - Add 3rd party video from Youtube and Vimeo
Presto includes pre-configured and ready to use right out-of-the-box functionalities. It consists of an article content type with some pre-configured fields and a basic page content type with a paragraphs-based body field. Some pre-configured paragraph types in this distribution are:
- Promo bar
Not only this but it also consists of a block which allows the embedding of Drupal blocks. This distribution has an article listing page which displays a paginated listing of articles, sorted by publish date.Conclusion
The advantages of working with a Drupal distribution continue well till date. Maintenance is also a breeze. When you create a website born out of distribution, all modules and features are integrated and tested together. When updates are required, it is a single update, as opposed to hundreds. Thus Drupal distribution for your social impact platform is what you need.
At opensense Labs we purely follow all the functionalities that come with the Drupal distribution. Contact us on email@example.com for more information on the same. Our services would guide you with all the instruction and information, that you require for the same.blog banner blog image Drupal Drupal 8 CMS OpenSocial Opigno LMS Drupal Commerce Open Church Lightning Drupal distribution Blog Type Articles Is it a good read ? Off
Click, tap, like, hit, post, tweet, retweet, repost, share, tag, comment - I am sure that you are known to all these terms, use them daily and even promote your business with it.
We live in a world where the boundaries of work and office space are changing. A new era of transformation has opened up where collaboration and communication within the company is modified into a “Digital System”
The heart of all this meaningful connection and real-time communication (Which is integral for modern business) is the social intranet.
OpenSocial is bringing power and the essence of pervasive social capabilities to the web.
And nothing beats the performance of OpenSocial, a Drupal distribution that is used for building social communities and intranet.
You ask how?
Well, Let’s find outUnderstand OpenSocial
OpenSocial is an out-of-the-box solution for the online community. It is used for creating social communities, intranets, portals and any other social project. It appears with a collection of features and functionalities that are useful in constructing a social framework.
In the Drupal community, Open Social is placed as an heir of Drupal Commons (Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website)
OpenSocial and its out-of-the-box feature
- Content types and structure
The user is offered with two content types: events and topics. The architecture lets OpenSocial be lightweight software that can easily be installed and can be used seamlessly by users. Blogs, News etc. are all identical content type as a topic but have separate taxonomy.
- Media Management
With the help of Media management, the user can efficiently arrange, resize and add images wherever they want to on a particular website. File System, Images Styles and all other media configurations that are needed to add, resize and adjust images are inbuilt.
- Responsive and Multi-Lingual Support
Open Social follows with Drupal 8 “mobile-first” theory and it is responsive “by default”. Not only this but it also consists of “Translation Module” that is used for Multilingual support.
- SEO Optimization
The SEO strategy is based on a consultative approach. Adverbs, SEO, Social media and conversion optimization is used to generate the traffic. The out-of-the-box feature in OpenSocial helps the user to optimize their website in a way that more people visit it.OpenSocial Foundation and W3C Social Web Activity “Social standards are part of the application foundations for the Open Web Platform”
In other words, they will be used everywhere, in diverse applications that operate on phones, cars, televisions, and e-readers. In terms of OpenSocial, the W3C standard is defined as:
The social web working group which determines the technical standards and API facilitates access to social functionalities as part of Open web platform.
The social interest group coordinates messaging around social at the W3C strategy that enables social business.
The Apache Software Foundation hosts two active and ongoing projects in addition to the many commercial enterprise platforms that practice on OpenSocial, it serves as reference implementations for OpenSocial technology:
Apache Shindig: It is the reference implementation of OpenSocial API specifications, versions 1.0.x and 2.0.x. It is the standard set of Social Network APIs that constitutes profiles, relationships, activities etc
Apache Rave: It is a lightweight and open-standards-based extensible platform for managing, combining and hosting OpenSocial and W3C Widget related features, technologies, and services.How is OpenSocial contributing to society?
Social platforms are interactive and exercise notifications that are provided with the alerts. Making numerous social software to control social experience takes a lot of time and effort. Building a distribution is the answer to all of it. It allows the developers to build the best things, re-use it, expand and even improve on that.
Site Owner and Business
If you are using Opensource Saas offerings, you have the ability to use site codes and data anytime. Social media changed modern society and communications, especially in our private lives. The decentralized nature of social software is a huge opportunity for organizations to reinvent the way they communicate and collaborate
End users obsess over user-centered design. Without engaged end users, no projects wouldn’t go anywhere. Thus providing the users with tools that are appealing and easy to use are a must for great user experience.Why choose OpenSocial over any other software?
Freedom for the clients. If they need to download their SaaS platform and run or extend it as they want, then they can easily do it.
Getting to this point from scratch takes longer and the core modules give you the functionality you need from the ground up.
The above points clearly say it is better software. With the Drupal community putting extra eyes on the code, making suggestions for design and development improvements, hopefully adding new features word-of-mouth marketing, and possibly some clients.
It provides easy customization options.
OpenSocial giving tough competition to other community software in the market
The pace of digitization is steadily increasing, leaving a lot of old processes behind in the dust. The same applies to traditional methods of innovation. The internet has not just become a hub to share knowledge, but also to create knowledge together through crowd innovation.
Some of the other community software in the market like lithium is being beaten hard by OpenSocial.
Let’s find outLithium OpenSocial Who uses it? Businesses of all sizes looking to attract new visitors A better way of connecting with your members, volunteers, employees, and customers Free Trail Not Provided Provided Free Version Not Provided Provided Starting Price $235.00/month It is free Entry Level set up Not Provided Provided What does Drupal Community Gain From Open Social? Without Drupal distributions, we won't be able to successfully compete with commercial vendors. Drupal distributions have great potential.
With the help of Open Social distribution, the Drupal community has been provided with a platform for their social projects. A more sustainable and adopted way of development. OpenSocial is better with Drupal because:
Users can use Open Social for their own projects and clients.
They can give back to the open-source community.
If the user is a Drupal freelancer or professional then they can improve the Drupal.org standing.
The UN Security Council acknowledges the positive role played by all young women and men in preserving international security. The task force for Youth, Peace, and Security proposed an updated and expanded Youth4Peace platform. This was done in order to give inspired parties and partners a path to enable consistent and timely information.
The UNDP was already familiar with the features and functionalities of Drupal as the previous site was built on the same. The organization supports open-source mainly because of the reusability feature of modules.
Moreover, the Drupal 8 community distribution, Open Social equals several goals of the project. Goals like: innovation and the use of technology. The distribution already included most of the needed features for the project, including blogs, events, profiles, information streams, a discussion engine, and moderation tools for community managers.
Therefore, The Youth4Peace portal was developed. It was constructed using an Agile method and mainly focused on:
- A curated Knowledge Resource Library
- Moderated e-Discussions & e-Consultations
- Experts’ Profiles
- News & Events and their overviews with filters
By being able to produce content for non-community members, the community was able to reach the global platform even at a bigger pace.
In The End
Now we know that OpenSocial has the right blend of features that are needed to build a social community. The distribution proves to be an appropriate platform to start building a community or intranet with immense features.
Opensense Labs understands how important it is for every organization to stay connected with the world. Therefore, we are here to leverage all those facilities and services. Ping us at firstname.lastname@example.org now.blog banner blog image Drupal Drupal 8 CMS OpenSocial Drupal community Social Media Platforms Drupal distributions Blog Type Articles Is it a good read ? On
Earlier we wrote about stress testing, featuring Blazemeter where you could learn how to do crash your site without worrying about the infrastructure. So why did I even bother to write this post about the do-it-yourself approach? We have a complex frontend app, where it would be nearly impossible to simulate all the network activities faithfully during a long period of time. We wanted to use a browser-based testing framework, namely WebdriverI/O with some custom Node.js packages on Blazemeter, and it proved to be quicker to start to manage the infrastructure and have full control of the environment. What happened in the end? Using a public cloud provider (in our case, Linode), we programmatically launched the needed number of machines temporarily, provisioned them to have the proper stack, and the WebdriverI/O test was executed. With Ansible, Linode CLI and WebdriverIO, the whole process is repeatable and scalable, let’s see how!Infrastructure phase
Any decent cloud provider has an interface to provision and manage cloud machines from code. Given this, if you need an arbitrary number of computers to launch the test, you can have it for 1-2 hours (100 endpoints for a price of a coffee, how does this sound?).
There are many options to dynamically and programmatically create virtual machines for the sake of stress testing. Ansible offers dynamic inventory, however the cloud provider of our choice wasn’t included in the latest stable version of Ansible (2.7) by the the time of this post. Also the solution below makes the infrastructure phase independent, any kind of provisioning (pure shell scripts for instance) is possible with minimal adaptation.
Let’s follow the steps at the guide on the installation of Linode CLI. The key is to have the configuration file at ~/.linode-cli with the credentials and the machine defaults. Afterwards you can create a machine with a one-liner:linode-cli linodes create --image "linode/ubuntu18.04" --region eu-central --authorized_keys "$(cat ~/.ssh/id_rsa.pub)" --root_pass "$(date +%s | sha256sum | base64 | head -c 32 ; echo)" --group "stress-test"
Given the specified public key, password-less login will be possible. However this is far from enough before the provisioning. Booting takes time, SSH server is not available immediately, also our special situation is that after the stress test, we would like to drop the instances immediately, together with the test execution to minimize costs.
Waiting for machine booting is a slightly longer snippet, the CSV output is robustly parsable:## Wait for boot, to be able to SSH in. while linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'status' --no-headers | grep -v running do sleep 2 done
However the SSH connection is likely not yet possible, let’s wait for the port to be open:for IP in $(linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'ipv4' --no-headers); do while ! nc -z $IP 22 < /dev/null > /dev/null 2>&1; do sleep 1 done done
You may realize that this is overlapping with the machine booting wait. The only benefit is that separating the two allows more sophisticated error handling and reporting.
Afterwards, deleting all machines in our group is trivial:for ID in $(linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'id' --no-headers); do linode-cli linodes delete "$ID" done
So after packing everything in one script, also to put an Ansible invocation in the middle, we end up with stress-test.sh:#!/bin/bash LINODE_GROUP="stress-test" NUMBER_OF_VISITORS="$1" NUM_RE='^[0-9]+$' if ! [[ $NUMBER_OF_VISITORS =~ $NUM_RE ]] ; then echo "error: Not a number: $NUMBER_OF_VISITORS" >&2; exit 1 fi if (( $NUMBER_OF_VISITORS > 100 )); then echo "warning: Are you sure that you want to create $NUMBER_OF_VISITORS linodes?" >&2; exit 1 fi echo "Reset the inventory file." cat /dev/null > hosts echo "Create the needed linodes, populate the inventory file." for i in $(seq $NUMBER_OF_VISITORS); do linode-cli linodes create --image "linode/ubuntu18.04" --region eu-central --authorized_keys "$(cat ~/.ssh/id_rsa.pub)" --root_pass "$(date +%s | sha256sum | base64 | head -c 32 ; echo)" --group "$LINODE_GROUP" --text --delimiter ";" done ## Wait for boot. while linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'status' --no-headers | grep -v running do sleep 2 done ## Wait for the SSH port. for IP in $(linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'ipv4' --no-headers); do while ! nc -z $IP 22 < /dev/null > /dev/null 2>&1; do sleep 1 done ### Collect the IP for the Ansible hosts file. echo "$IP" >> hosts done echo "The SSH servers became available" echo "Execute the playbook" ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3' -T 300 -i hosts main.yml echo "Cleanup the created linodes." for ID in $(linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'id' --no-headers); do linode-cli linodes delete "$ID" done Provisioning phase
As written earlier, Ansible is just an option, however a popular option to provision machines. For such a test, even a bunch of shell command would be sufficient to setup the stack for the test. However, after someone tastes working with infrastructure in a declarative way, this becomes the first choice.
If this is your first experience with Ansible, check out the official documentation. In a nutshell, we just declare in YAML how the machine(s) should look, and what packages it should have.
In my opinion, a simple playbook like this below, is readable and understandable as-is, without any prior knowledge. So our main.yml is the following:- name: WDIO-based stress test hosts: all remote_user: root tasks: - name: Update and upgrade apt packages become: true apt: upgrade: yes update_cache: yes cache_valid_time: 86400 - name: WDIO and Chrome dependencies package: name: "" state: present with_items: - unzip - nodejs - npm - libxss1 - libappindicator1 - libindicator7 - openjdk-8-jre - name: Download Chrome get_url: url: "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" dest: "/tmp/chrome.deb" - name: Install Chrome shell: "apt install -y /tmp/chrome.deb" - name: Get Chromedriver get_url: url: "https://chromedriver.storage.googleapis.com/73.0.3683.20/chromedriver_linux64.zip" dest: "/tmp/chromedriver.zip" - name: Extract Chromedriver unarchive: remote_src: yes src: "/tmp/chromedriver.zip" dest: "/tmp" - name: Start Chromedriver shell: "nohup /tmp/chromedriver &" - name: Sync the source code of the WDIO test copy: src: "wdio" dest: "/root/" - name: Install WDIO shell: "cd /root/wdio && npm install" - name: Start date debug: var=ansible_date_time.iso8601 - name: Execute shell: 'cd /root/wdio && ./node_modules/.bin/wdio wdio.conf.js --spec specs/stream.js' - name: End date debug: var=ansible_date_time.iso8601
We install the dependencies for Chrome, Chrome itself, WDIO, and then we can execute the test. For this simple case, that’s enough. As I referred to earlier:ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3' -T 300 -i hosts main.yml
What’s the benefit over the shell scripting? For this particular use-case, mostly that Ansible makes sure that everything can happen in parallel and we have sufficient error-handling and reporting.Test phase
Could we do it with a bunch of requests in jMeter or Gatling? Almost. The icing on the cake is where we stress test the streaming of the podcast. We simulate a user who listens the podcast for 10 seconds. For for any frontend-heavy app, realistic stress testing requires a real browser, WDIO provides us exactly this.The WebdriverIO test execution - headless mode deactivated Test execution phase
After making the shell script executable (chmod 750 stress-test.sh), we are able to execute the test either:
- with one visitor from one virtual machine: ./stress-test.sh 1
- with 100 visitors from 100 virtual machines for each: ./stress-test.sh 100
with the same simplicity. However, for very large scale tests, you should think about some bottlenecks, such as the capacity of the datacenter on the testing side. It might make sense to randomly pick a datacenter for each testing machine.
The test execution consists of two main parts: bootstrapping the environment and executing the test itself. If bootstrapping the environment takes too high of a percentage, one strategy is to prepare a Docker image, and instead of creating the environment again and again, just use the image. In that case, it’s a great idea to check for a container-specific hosting solution instead of standalone virtual machine.
Would you like to try it out now? Just do a git clone https://github.com/Gizra/diy-stress-test.git!Result analysis
For such a distributed DIY test, analyzing the results could be challenging. For instance, how would you measure requests/second for a specific browser-based test, like WebdriverI/O?
For our case, the analysis happens on the other side. Almost all hosting solutions we encounter support New Relic, which could help a lot in such an analysis. Our test was DIY, but the result handling was outsourced. The icing on the cake is that it helps to track down the bottlenecks too, so a similar solution for your hosting platform can be applied as well.
However what if you’d like to somehow gather results together after such a distributed test execution?
Without going into detail, you may study the fetch module of Ansible, so you can gather a result log from all the test servers and have it locally in a central place.Conclusion
It was a great experience that after we faced some difficulty with a hosted stress test platform; in the end, we were able to recreate a solution from scratch without much more development time. If your application also needs special, unusual tools for stress-testing, you might consider this approach. All the chosen components, such as Linode, WebdriverIO or Ansible are easily replaceable with your favorite solution. Geographically distributed stress testing, fully realistic website visitors with heavy frontend logic, low-cost stress testing – it seems now you’re covered!
This module is a Drupal field module that provides Korea's phone number input interface. The telephone number in Korea consists of the network identification number or area code, the base station number, and the serial number.
This module can be used to develop sites that are serviced in Korea. Use in other countries is inappropriate.
This is the same as a typical installation of the Drupal module.
This week's highlights include a look at smash hit Taiwanese horror game Devotion, quirky AI art tutoring game Art Sqool, and the latest behind-the-scenes video on Supergiant's Early Access title Hades. ...