This slide show is from my presentation on what JSON and REST are. It aims to provide a number of talking points by comparing apples and oranges (JSON vs. XML and REST vs. web services).
급증하는 온라인 사용자 증가, 부하테스트가 필요하지 않으신가요?
요즘 인터넷 뉴스에는 홈페이지 접속자 폭증으로 인한 서버 다운, xx은행 모바일 앱 접속 에러, 인터넷 뱅킹 장애 등 온라인 시장과 모바일 시장이 급격하게 성장함에 따라 이에 따른 장애 소식이 끊이지 않고 전해지고 있습니다.
그렇다면, 우리는 이런 장애들을 어떻게 대비할 수 있을까요?
웹∙앱 부하테스트 (성능 진단) 및 컨설팅 안은 웹∙앱 부하테스트(성능 진단 테스트) 진행 과정과 이를 기반으로 어떻게 컨설팅을 진행하고 있는지 소개하고, 나아가 관련 장애들을 대비할 수 있는 방법에 대해 설명합니다.
(공유드리는 파일은 slideshare에 업로드되었던 웹∙앱 부하테스트 성능 진단 및 컨설팅 안을 업데이트한 최신 본입니다.)
웹∙앱 부하테스트 (성능 진단) 및 컨설팅 자료는 아래와 같이 구성되어있습니다.
• 웹∙앱 성능을 진단하고 문제에 대한 원인 분석 및 개선방향을 제시합니다.
• 컨설팅 안에는 여러 실 성능 진단을 예시로 들고 이에 대한 원인 분석 및 개선방향을 도
출한 내용이 포함되어 있습니다.
1. 앱 성능 진단
• 앱 진단 절차
• 앱 진단 상세 내용
2. 웹 서버 성능 진단
• 웹 진단 절차
• 웹 진단 방향
3. 부하 테스트
• 현 테스트 시나리오 분석
• 테스트 시나리오 보완 방법
• 부하 테스트 진행 방안
• 부하 테스트 전략
• 클라우드 기반 테스트 방안
모바일 성능 모니터링, 웹 서버 성능 진단 및 부하테스트 컨설팅에 관심이 있으신 분은 아래 연락처로 연락해주시면, 전문 컨설턴트가 안내해드리겠습니다.
hhjung@onycom.com l 02-6395-7722
This slide show is from my presentation on what JSON and REST are. It aims to provide a number of talking points by comparing apples and oranges (JSON vs. XML and REST vs. web services).
급증하는 온라인 사용자 증가, 부하테스트가 필요하지 않으신가요?
요즘 인터넷 뉴스에는 홈페이지 접속자 폭증으로 인한 서버 다운, xx은행 모바일 앱 접속 에러, 인터넷 뱅킹 장애 등 온라인 시장과 모바일 시장이 급격하게 성장함에 따라 이에 따른 장애 소식이 끊이지 않고 전해지고 있습니다.
그렇다면, 우리는 이런 장애들을 어떻게 대비할 수 있을까요?
웹∙앱 부하테스트 (성능 진단) 및 컨설팅 안은 웹∙앱 부하테스트(성능 진단 테스트) 진행 과정과 이를 기반으로 어떻게 컨설팅을 진행하고 있는지 소개하고, 나아가 관련 장애들을 대비할 수 있는 방법에 대해 설명합니다.
(공유드리는 파일은 slideshare에 업로드되었던 웹∙앱 부하테스트 성능 진단 및 컨설팅 안을 업데이트한 최신 본입니다.)
웹∙앱 부하테스트 (성능 진단) 및 컨설팅 자료는 아래와 같이 구성되어있습니다.
• 웹∙앱 성능을 진단하고 문제에 대한 원인 분석 및 개선방향을 제시합니다.
• 컨설팅 안에는 여러 실 성능 진단을 예시로 들고 이에 대한 원인 분석 및 개선방향을 도
출한 내용이 포함되어 있습니다.
1. 앱 성능 진단
• 앱 진단 절차
• 앱 진단 상세 내용
2. 웹 서버 성능 진단
• 웹 진단 절차
• 웹 진단 방향
3. 부하 테스트
• 현 테스트 시나리오 분석
• 테스트 시나리오 보완 방법
• 부하 테스트 진행 방안
• 부하 테스트 전략
• 클라우드 기반 테스트 방안
모바일 성능 모니터링, 웹 서버 성능 진단 및 부하테스트 컨설팅에 관심이 있으신 분은 아래 연락처로 연락해주시면, 전문 컨설턴트가 안내해드리겠습니다.
hhjung@onycom.com l 02-6395-7722
The MySQLi Extension (MySQL Improved) is a relational database driver used in the PHP programming language to provide an interface with MySQL databases. There are three main API options when considering connecting to a MySQL database server: PHP's MySQL Extension. PHP's MySQLi Extension. PHP Data Objects (PDO)
성능 진단 및 컨설팅 제안서입니다.
모바일 성능 모니터링, 모바일 자동화 테스트, 웹 서버 성능 테스트를 합리적인 가격에 컨설팅 해 드립니다.
⁍ 업데이트된 최신본 성능 진단 및 컨설팅 제안서 확인해 보세요!
https://www.slideshare.net/IMQAGroup/imqa-performance-consulting
The MySQLi Extension (MySQL Improved) is a relational database driver used in the PHP programming language to provide an interface with MySQL databases. There are three main API options when considering connecting to a MySQL database server: PHP's MySQL Extension. PHP's MySQLi Extension. PHP Data Objects (PDO)
성능 진단 및 컨설팅 제안서입니다.
모바일 성능 모니터링, 모바일 자동화 테스트, 웹 서버 성능 테스트를 합리적인 가격에 컨설팅 해 드립니다.
⁍ 업데이트된 최신본 성능 진단 및 컨설팅 제안서 확인해 보세요!
https://www.slideshare.net/IMQAGroup/imqa-performance-consulting
Burr Sutter describes, discusses and demonstrates an industrial/enterprise-oriented architecture associated with large scale sensor rollout, covering critical areas such as ingestion, integration and analytics. You will learn how to connect the physical world to your traditional enterprise IT infrastructure (Apache Camel), supporting high-speed sensor data acquisition (Apache ActiveMQ) with real-time (Apache SparkStreaming) analytics. In addition, we will show-off various IoT developer prototyping platforms like Raspberry Pi, Intel Edison, Arduino, NXP 1768 with mbed, Particle.io Photon and more.
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
MySQL InnoDB Cluster provides a complete high availability solution for MySQL. MySQL Shell includes AdminAPI which enables you to easily configure and administer a group of at least three MySQL server instances to function as an InnoDB cluster.
This talk includes best practices.
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...Timofey Turenko
The presentation describes CI environment for our product - Maxscale - database proxy server. To test such product we need a setup that consists of tens of machines: locally hosted virtual machines as well as machines from different clouds. All our Jenkins jobs are implemented in the form of Jenkins Job Builder code. Presentations also tells about our tool to manage virtual machines (wrapper over Vagrant)- MDBCI.
Monitor Agile PLM Performance
Is your Agile PLM environment starting to slow down or are you looking to monitor its performance? There are a number of tools out there to help with this, including the Java Console that comes with the Java Development Kit (JDK). This blog will provide basic instructions on how to enable the Agile PLM server deployment for remote monitoring.
Slides of the Belgian Puppet User Group Meetup "something about MCollective" we held on the 24 of June 2014.
The source of these slides can be found at https://github.com/witjoh/BPUG_MCollective
Sides accompanying the tale of using saltcheck from the salt project to validate OS, app deployment, users, AWS resources, and more for multiple hadoop clusters.
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Carlos Sanchez
Continuous Integration, with Apache Continuum or Jenkins, can be extended to fully manage deployments and production environments, running in Tomcat for instance, in a full Continuous Delivery cycle using infrastructure-as-code tools like Puppet, allowing to manage multiple servers and their configurations.
Puppet is an infrastructure-as-code tool that allows easy and automated provisioning of servers, defining the packages, configuration, services,... in code. Enabling DevOps culture, tools like Puppet help drive Agile development all the way to operations and systems administration, and along with continuous integration tools like Apache Continuum or Jenkins, it is a key piece to accomplish repeatability and continuous delivery, automating the operations side during development, QA or production, and enabling testing of systems configuration.
Traditionally a field for system administrators, Puppet can empower developers, allowing both to collaborate coding the infrastructure needed for their developments, whether it runs in hardware, virtual machines or cloud. Developers and sysadmins can define what JDK version must be installed, application server, version, configuration files, war and jar files,... and easily make changes that propagate across all nodes.
Using Vagrant, a command line automation layer for VirtualBox, they can also spin off virtual machines in their local box, easily from scratch with the same configuration as production servers, do development or testing and tear them down afterwards.
We will show how to install and manage Puppet nodes with JDK, multiple Tomcat instances with installed web applications, database, configuration files and all the supporting services. Including getting up and running with Vagrant and VirtualBox for quickstart and Puppet experiments, as well as setting up automated testing of the Puppet code.
Run high-available web-application in the Cloud on Docker Swarm Mode. The latest Docker Engine version (1.12+) comes with interesting features that streamline setting-up new cluster and maintenance tasks for Ops. Throughout the talk engineers will learn how to set up a new Docker Swarm cluster, scale in and out and make nodes join and leave cluster in automated fashion. Furthermore single region and multi-region cluster scenarios will be discussed.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
2. Overview:
Apache ActiveMQ is the most popular and powerful open source messaging and
Integration Patterns server.
Apache ActiveMQ is fast, supports many Cross Language Clients. Using this we can
enable to message throttling, redelivery, delay of messages.
In this Presentation will going to see
ActiveMQ Installation and configurations
DeadLetter queue configuration
Configuring ActiveMQ in clusters
Running ActiveMQ in clusters
3. ActiveMQ Installation and configurations:
Prerequisites
ActiveMQ installer -- apache-activemq-5.8.0-bin.zip
Database:- Microsoft SQL Server
Limitations:
The configuration is done in activemq.xml and the configuration tags used in the
code works with apache-activemq version 5.8.0.It might change according to latest
versions.
4. Steps to Install
Extract apache-activemq-5.8.0-bin.zip to a folder eg:- Applications where it will be
running
It will create the folder apache-activemq-5.8.0 in the Applications folder
Go to the folder <apache-activemq-5.8.0bins> and start the activemq.bat file
The ActiveMq server will be started and will be running.
Enter the address in the browser :- http://localhost:8161/admin
Enter the user name and password as admin , admin
5. DeadLetter queue configuration:
To configure DeadLetter Queue in activeMQ:-
Go to the folder <apache-activemq-5.8.0conf>
Open the file activemq.xml in an editor.
Modify the following in the file :-
Set the following code in the redeliveryPolicyMap:-
<redeliveryPolicyEntries>
<redeliveryPolicy queue=">" maximumRedeliveries="1"
redeliveryDelay="1200000" initialRedeliveryDelay="5000"
useCollisionAvoidance="true" />
</redeliveryPolicyEntries>
Enter the following tags:-
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost " dataDirectory="${activemq.data}" persistent="true">
6. Here maximumRedeliveries is the number of redeliveries of the messages,
redeliveryDelay is the interval of messages to be delivered and
initialRedeliveryDelay is the interval which the messages will be triggered for the
first time.
Here brokerName needs to be mentioned.
The above script will set the redeliveryPolicies.
Note:-The queue will not be created until messages are pushed in ActiveMQ.
Open Mule and run the consumer program to consume the messages from
ActiveMQ.
Once the data is pushed from SAP the ActiveMQ will create the queue and stores
the messages.
7. Now whenever the consumer throws an exception, The messages will retry to a
certain time based on redelivery policy of ActiveMQ and a deadletter queue will
be created and failed messages will be pushed to the deadletter queue.
8. Configuring ActiveMQ in clusters:
Clustering is needed so that if 1 node(master) goes down then the other
nodes(slaves) can take the work from it and the data should always be available.
Steps to Install and configure ActiveMQ in clusters:-
Let there be 2 nodes which we want to configure in cluster.
Repeat the installing and configuring of ActiveMQ on both systems which would
be in clusters.
Need to install Microsoft SQL Server on one of the systems that are in clusters.
Now open the activemq.xml file of ActiveMQ from <apache-activemq-5.8.0conf>
folder.
Change the broker name.Note:- The broker name should be different for both the
nodes:-
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="Node1 "
dataDirectory="${activemq.data}" persistent="true">
9. Enter the following tag below to bean class tag in the file:-
Add the following tags inside persistenceAdapter tag:-
<bean id="sql-ds"
class="org.apache.commons.dbcp.BasicDataSource" destroy-
method="close">
<property
name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url"
value="jdbc:sqlserver://=%ipaddress%SQLEXPRESS:1433;databaseNa
me=SOA_VMES"/>
<property name="username"
value="username"/>
<property name="password"
value="samplepassword"/>
<property name="maxActive"
value="200"/>
<property
name="poolPreparedStatements" value="true"/>
</bean>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/activemq-data"
dataSource="#sql-ds" useDatabaseLock="true" lockKeepAlivePeriod="5000"/>
10. Remove the kahaDB tag from persistenceAdapter tag.
Copy the sqljdbc4.jar file in activemq lib folder if it is not there.
Give different web app port numbers in different nodes.(For ex :node1->8161 &
node->8162)
Change port number in transportConnector tag in activemq.xml file in node2.
(for ex node1 give 61616 & for node2 give 62626).
Note: - useDatabaseLock="true" should always be true
Here driverClassName is the name of the database driver.
url is the url of the SQL server with the database name.
username and password are the username and password for the database
dataSource is the the name of the data source we are configuring in the database
configuration.
Now go to the next clustered node and open the activemq.xml file of ActiveMQ
from <apache-activemq-5.8.0conf> folder
Repeat the same configuration and both the ActiveMQ are in clustered
11. Note here in this node the broker name need to be changed
Rest everything in the configuration file of the second node will be same as it is.
Note there should be a database named SOA_VMES in the SQL server which the
ActiveMQ will use for clustering.
The database should be one which will be using by both the clusters. The database
should be installed in any one of the node.
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="Node2 " dataDirectory="${activemq.data}"
persistent="true">
12. Running ActiveMQ in clusters:
Go to node1 which is the first node in the cluster. This node will act as master.
Go to the folder <apache-activemq-5.8.0bins> and start the activemq.bat file
The ActiveMQ node1 server will be started and will act as a Master node
13. Enter the address in the browser :- http://localhost:8161/admin
Enter the user name and password as admin , admin
Click the Queue in the portal to view the queue messages in the ActiveMQ
Currently there will be no messages and following screen will appear
14. Goto node2 and repeat the same process to start activeMQ server
Now both the nodes are running in clusters.
Node2 will start but since Node2 is a slave it will not be activated and wait for the
control of the database due to database lock. Check the screenshots below:-
Node2 ActiveMQ server is waiting for the database lock to be release. If we open
the browser in node2 and enter http://localhost:8162/admin, it will not display
anything since it is not activated.
15. For Testing purpose, push the messages to Master (Node1) server using some Java
code or Mule ESB flows.
Stop the master instance.
Slave instance will pick the lock from database immediately and gets the messages
from Node1
Open the browser http://localhost:8162/admin.
You can able to see messages that has been received from Master node.