Improving the performance and scalability of your Drupal website with a Memcached implementation.
In this webinar, you will learn about:
• The components of a Memcached system
• Installing a simple Memcached installation
• Complex distributed installations and when to use them
• Verifying the installation
Memcached: What is it and what does it do?Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good.
Memcached is a distributed memory based caching system. But, what does that mean for you? This session will cover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what is in my cache? All these questions and more will be answered.
Memcached: What is it and what does it do? (PHP Version)Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good. Memcached is a distributed memory based caching system. But, what does that mean for you? This session willcover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what isin my cache? All these questions and more will be answered.
A brief overview of caching mechanisms in a web application. Taking a look at the different layers of caching and how to utilize them in a PHP code base. We also compare Redis and MemCached discussing their advantages and disadvantages.
We all love Ehcache. But the rise of real-time Big Data means you want to keep larger amounts of data in memory with low, predictable latency. In this webinar,
we explain how BigMemory Go can turbocharge your Ehcache deployment.
Memcached: What is it and what does it do?Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good.
Memcached is a distributed memory based caching system. But, what does that mean for you? This session will cover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what is in my cache? All these questions and more will be answered.
Memcached: What is it and what does it do? (PHP Version)Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good. Memcached is a distributed memory based caching system. But, what does that mean for you? This session willcover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what isin my cache? All these questions and more will be answered.
A brief overview of caching mechanisms in a web application. Taking a look at the different layers of caching and how to utilize them in a PHP code base. We also compare Redis and MemCached discussing their advantages and disadvantages.
We all love Ehcache. But the rise of real-time Big Data means you want to keep larger amounts of data in memory with low, predictable latency. In this webinar,
we explain how BigMemory Go can turbocharge your Ehcache deployment.
OpenStack is rapidly gaining popularity with businesses as they realize the benefits of a private cloud architecture. This presentation was delivered by Dave Page, Chief Architect, Tools & Installers at EnterpriseDB & PostgreSQL Core Team member during PG Open 2014. He addressed some of the common components of OpenStack deployments, how they can affect Postgres servers, and how users might best utilize some of the features they offer when deploying Postgres, including:
• Different configurations for the Nova compute service
• Use of the Cinder block store
• Virtual networking options with Neutron
• WAL archiving with the Swift object store
Presented at JavaOne 2015.
JSR107, aka the Temporary Caching API for the Java Platform, has now been finalized almost 2 years ago. We've heard all about its ease of use and capabilities. But there is much left unaddressed. The good news is that the EG is looking at addressing many of the current shortcomings... But what do you do now? Go for proprietary APIs?!
Ehcache, the de facto caching API for 10 years now, has gone through a major API revamp: Ehcache3. One major theme, beyond its usual ease of use, was JSR107. Natively integrating it, but also looking beyond. With close to no API tie-ins, Ehcache3 lets you extend the JSR107 API transparently to go beyond the specification: topology-wise: whether you want to go offheap and scale up, or scale out by clustering your caches; functionality-wise: using transactional caches, automatic resource control or even using a write-behind cache to scale out writes...
Best of all is that this isn't only minimally intrusive, it is also all free to use and available as part of the open-source Ehcache v3 that has been GA'ed earlier this year...
Coming with different approach, this slide will explain How we can use Memcache as Session handler in PHP? This slide will also explain, How we can keep session centralised and share it on LB? Considering that you are using linux, the commands given in slides are linux commands.
Today's high-traffic websites must implement performance-boosting measures that reduce data processing and reduce load on the database, while increasing the speed of content delivery. One such method is the use of a cache to temporarily store whole pages, database recordsets, large objects, and sessions. While many caching mechanisms exist, memcached provides one of the fastest and easiest-to-use caching servers. This talk will cover memcached and the memcache extension for PHP from setting up a memcached server to using it to provide a variety of caching solutions, including the use of memcached as a session data store.
Achieving Massive Scalability and High Availability for PHP Applications in t...RightScale
RightScale User Conference NYC 2011 -
Joshua Solomin - Senior Product Marketing Manager, Zend Technologies
It's a common pain point among PHP developers: How do you achieve application-level elasticity while never losing a user session when you scale down servers? Now there's a push-button solution from Zend and RightScale that enables persistent sessions and allows you to readily triage problems with your business-critical PHP applications. This session will introduce you to an auto-scaling PaaS solution specifically designed to make it easier for you to deploy and manage cloud-based, highly available PHP server clusters.
moxi is a memcached proxy with several features which can help keep the memcached contract whole in complicated environments. It also brings several optimizations to memcached deployments, without requiring any changes to the application software using memcached. For more, visit: http://labs.northscale.com/moxi/
My talk on wordpress and website performance and quick tips + advanced on how to improve website performance
Video at http://wordpress.tv/2017/01/04/anthony-somerset-site-speed-success-optimising-wordpress-from-the-server-up/
Caching and tuning fun for high scalabilityWim Godden
Caching has been a 'hot' topic for a few years. But caching takes more than merely taking data and putting it in a cache : the right caching techniques can improve performance and reduce load significantly. But we'll also look at some major pitfalls, showing that caching the wrong way can bring down your site. If you're looking for a clear explanation about various caching techniques and tools like Memcached, Nginx and Varnish, as well as ways to deploy them in an efficient way, this talk is for you.
How to reduce database load using Memcachevaluebound
Configuring Memcache with Drupal 8 helps to reduce database load by caching DB objects in RAM. In this presentation, Ajay Reddy of Valuebound has explained how to install Memcache on the server and configure it with Drupal 8.
OpenStack is rapidly gaining popularity with businesses as they realize the benefits of a private cloud architecture. This presentation was delivered by Dave Page, Chief Architect, Tools & Installers at EnterpriseDB & PostgreSQL Core Team member during PG Open 2014. He addressed some of the common components of OpenStack deployments, how they can affect Postgres servers, and how users might best utilize some of the features they offer when deploying Postgres, including:
• Different configurations for the Nova compute service
• Use of the Cinder block store
• Virtual networking options with Neutron
• WAL archiving with the Swift object store
Presented at JavaOne 2015.
JSR107, aka the Temporary Caching API for the Java Platform, has now been finalized almost 2 years ago. We've heard all about its ease of use and capabilities. But there is much left unaddressed. The good news is that the EG is looking at addressing many of the current shortcomings... But what do you do now? Go for proprietary APIs?!
Ehcache, the de facto caching API for 10 years now, has gone through a major API revamp: Ehcache3. One major theme, beyond its usual ease of use, was JSR107. Natively integrating it, but also looking beyond. With close to no API tie-ins, Ehcache3 lets you extend the JSR107 API transparently to go beyond the specification: topology-wise: whether you want to go offheap and scale up, or scale out by clustering your caches; functionality-wise: using transactional caches, automatic resource control or even using a write-behind cache to scale out writes...
Best of all is that this isn't only minimally intrusive, it is also all free to use and available as part of the open-source Ehcache v3 that has been GA'ed earlier this year...
Coming with different approach, this slide will explain How we can use Memcache as Session handler in PHP? This slide will also explain, How we can keep session centralised and share it on LB? Considering that you are using linux, the commands given in slides are linux commands.
Today's high-traffic websites must implement performance-boosting measures that reduce data processing and reduce load on the database, while increasing the speed of content delivery. One such method is the use of a cache to temporarily store whole pages, database recordsets, large objects, and sessions. While many caching mechanisms exist, memcached provides one of the fastest and easiest-to-use caching servers. This talk will cover memcached and the memcache extension for PHP from setting up a memcached server to using it to provide a variety of caching solutions, including the use of memcached as a session data store.
Achieving Massive Scalability and High Availability for PHP Applications in t...RightScale
RightScale User Conference NYC 2011 -
Joshua Solomin - Senior Product Marketing Manager, Zend Technologies
It's a common pain point among PHP developers: How do you achieve application-level elasticity while never losing a user session when you scale down servers? Now there's a push-button solution from Zend and RightScale that enables persistent sessions and allows you to readily triage problems with your business-critical PHP applications. This session will introduce you to an auto-scaling PaaS solution specifically designed to make it easier for you to deploy and manage cloud-based, highly available PHP server clusters.
moxi is a memcached proxy with several features which can help keep the memcached contract whole in complicated environments. It also brings several optimizations to memcached deployments, without requiring any changes to the application software using memcached. For more, visit: http://labs.northscale.com/moxi/
My talk on wordpress and website performance and quick tips + advanced on how to improve website performance
Video at http://wordpress.tv/2017/01/04/anthony-somerset-site-speed-success-optimising-wordpress-from-the-server-up/
Caching and tuning fun for high scalabilityWim Godden
Caching has been a 'hot' topic for a few years. But caching takes more than merely taking data and putting it in a cache : the right caching techniques can improve performance and reduce load significantly. But we'll also look at some major pitfalls, showing that caching the wrong way can bring down your site. If you're looking for a clear explanation about various caching techniques and tools like Memcached, Nginx and Varnish, as well as ways to deploy them in an efficient way, this talk is for you.
How to reduce database load using Memcachevaluebound
Configuring Memcache with Drupal 8 helps to reduce database load by caching DB objects in RAM. In this presentation, Ajay Reddy of Valuebound has explained how to install Memcache on the server and configure it with Drupal 8.
Find Site Performance from the server to WordPress. A look at how some good performance gains can be made in tuning MySQL and APC and getting the most of out W3 Total Cache.
Caching and tuning fun for high scalabilityWim Godden
Caching has been a 'hot' topic for a few years. But caching takes more than merely taking data and putting it in a cache : the right caching techniques can improve performance and reduce load significantly. But we'll also look at some major pitfalls, showing that caching the wrong way can bring down your site.
If you're looking for a clear explanation about various caching techniques and tools like Memcached, Nginx and Varnish, as well as ways to deploy them in an efficient way, this talk is for you.
Configuring Apache Servers for Better Web PerormanceSpark::red
Apache is the most popular web server in the world, yet its default configuration can't handle high traffic. Learn how to setup Apache for high performance sites and leverage many of its available modules to deliver a faster web experience for your users. Discover how Apache can max out a 1 Gbps NIC and how to serve over 140,000 pages per minute with a small Apache cluster. This presentation was given by Spark::red's founding partner Devon Hillard in March 2012 at the Boston Web Performance Meetup.
Basics of Web App Systems Architecture
General Web Software Optimization Strategies
Defining a Goal for Performance
Performance Metrics, tools
Performance Debugging Techniques
What Can You Control?
What Is Caching?
Drupal Performance modules
Optimizing Drupal
Scaling Magento - Reaching Peak Performance
Building a cluster to support Magento is easy and makes a good example for scalable web application platforms.
I will walk through a typical Magento Cluster setup and provide Vagrant/Puppet configurations for the basic setup. Then I will cover some of the hardware and cloud resources that are required as the platform grows. We will move onto application choices, and some of the development, testing and deployment strategies that are required to have a successful clustered platform.
* Hardware vs Cloud: Exploring hardware and software options available for scaling
* Cluster Architecture
* Web server: How to cluster your application
* Varnish: How to speed up response time using reverse proxy caching
* Database: How to cluster Magento Database using Percona
* Redis: How to set up a Redis Cluster using Sentinel and Keepalived
* Filesystem: NFS, NAS or other clustered file systems
* Application Architecture: How to avoid angering your systems administrators
* Testing: Exploring load testing with tools like Gatling and BlazeMeter
* Development and Deployment Process
https://joind.in/talk/view/13541
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016panagenda
Depending on deployment size, operating system and security considerations you have different options to configure IBM Connections. This session show good and bad examples on how to do it from multiple customer deployments. Christoph Stoettner describes things he found and how you can optimize your systems. Main topics include simple (documented) tasks that should be applied, missing documentation, automated user synchronization, TDI solutions and user synchronization, performance tuning, security optimizing and planning Single Sign On for mail, IBM Sametime and SPNEGO. This is valuable information that will help you to be successful in your next IBM Connections deployment project.
A presentation from Christoph Stoettner (panagenda).
Planning & Executing Custom Drupal Integration ProjectsAchieve Internet
With the rise of Enterprise IT Systems, such as Marketo, SharePoint, and Salesforce, more organizations and clients are asking for custom integration with their third-party platforms. A common need for many organizations is integrating Drupal with these systems. A proper strategy can double the effectiveness of the integration.
Check out this webinar to find out how we plan, execute and implement successful integration projects. In this presentation you will learn the necessary processes and strategies to ensure a smooth project from start to finish. This presentation will review how to plan for integration projects and how to deal with the challenges along the way, including:
• Questions to ask at the beginning of a project
• Questions to ask your developer team at the beginning of a project
• How to effectively plan your projects
• How to manage changes to your plan
Communicating Drupal: Documentation and DiscoveryAchieve Internet
While often overlooked or just considered a necessary obligation, project documentation can play a crucial in a project's success. Documentation should be much more than the training manual that no one has time to create before a site launches, it should serve site of collaboration and play an important role at every stage of a project’s lifecycle. This slideshow will reflect on the role of documentation and describe a process-oriented approach to performing project discoveries.
Advancing Healthcare Technology with Open Source SoftwareAchieve Internet
The focus, and heated debate, on the Affordable Care Act (ACA) is causing major change in the healthcare industry. The ACA seeks to provide more affordable care and mandates the use of cutting edge technology solutions to provide inter-operability and patient engagement in order to accomplish the desired goals.
Drupal has the power and capabilities to help meet these goals, and is already Drupal is being used by a number of major Healthcare related companies from Florida Hospitals, WellPoint, Dexcom, and Alliance Imaging. Drupal has the ability to achieve and comply with the desired outcomes of the ACA, from patient engagement, physician satisfaction and inter-operability between EMR systems.
In this webinar, Achieve Internet will review how Drupal and Open Source technology solutions can greatly improve Healthcare (including patient outcomes, better patient experiences, and increased usability) by enhancing, extending and ultimately replacing the current Healthcare technology on the market.
Showcasing Human Capital: How to Effectively Market a Professional Services FirmAchieve Internet
Effective marketing tactics for professional services firm marketing. In a service firm marketers do not have the luxury of marketing product features. The one key differentiator becomes the quality of your people and your core competencies. This presentation covers the importance of your Human Capital and the people that make up your Professional Services Firm
Through the magic of virtualization technology (Vagrant) and Puppet, a companion Enterprise grade provisioning technology, we explore how to make the complex configuration game a walk in the park. Bring new team members up to speed in minutes, eliminate variances in configurations, and make integration issues a thing of the past.
Welcome to the new age of team development!
Improving Website Performance with Memecached Webinar | Achieve InternetAchieve Internet
Improving the performance and scalability of your Drupal website with a Memcached implementation.
In this webinar, you will learn about:
• The components of a Memcached system
• Installing a simple Memcached installation
• Complex distributed installations and when to use them
• Verifying the installation
Achieve Internet VP of Operations Marc Hermsmeyer and Dexcom Inc., Senior Marketing Manager Tom Hall speak about technology solutions for the Healthcare Industry using Open Source software, such as Drupal.
The Government is forcing technology innovation within the Healthcare industry yet there are very few solutions out there that are tailored for the specific requirements and needs of the Healthcare market. In past experiences with Dexcom and other Healthcare clients Achieve has leveraged the power of Drupal to create powerful solutions that drive patient outcomes, improve workflows, and remain compliant with rigorous regulatory requirements.
This presentation shines a light on the technology needs of the Healthcare market and how Drupal can meet those needs.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
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.
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.
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.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
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.
2. About Me
•
•
15+ years experience
in Internet software
and hosting
•
5+ years with Drupal
•
3
Lead Architect at
Achieve Internet
•
LinkedIn: www.linkedin.com/in/shawnsmiley/
Twitter: @shawnsmiley
Shawn S. Smiley
Recently married
3. Agenda
About Achieve
At a Glance
Key Clients
Achieve Services
Intro to Caching
How it Works?
What is Memcached?
When and Why You Should Use It?
Performance and Stats
Minimal Setup
Components of a Memcache Solution
PECL Memcache vs Memcached
Commands
Verifying and Troubleshooting
Minimal Install Verification
Distributed Configurations
When to Use It
Types
Configuration
Tuning Tips
Are There Alternatives?
Conclusion
Q&A
4
4. Achieve at a Glance
legal name
founded
headquarters
leadership
mission
primary
contact info
Achieve Internet, Inc.
1998
1767 Grand Avenue, Suite #2 | San Diego, CA 92109 | U.S.A.
Ron Huber, Chief Executive Officer
Achieve leverages best-in-class Open Source web application development experience, and tools to create
optimized platforms for enterprise clients.
800.618.8777 | info@achieveinternet.com
Achieve is a leading software development company that leverages Drupal to develop advanced
enterprise web and mobile solutions for an array of clients in varying verticals. Achieve has a singular
goal: To help you launch your advanced digital platforms with confidence.
Our ethos is “it‟s not magic, it‟s excellence,” and our all-star developers deliver on that promise
with every new project we take on by consistently exceeding client expectations.
5
7. Achieve Services
Achieve builds custom enterprise IT management systems to solve the most complex business challenges.
Application
Development
Achieve makes integration easy so you can focus on what is most important to your business – your customers.
Platform
Integration
Optimize the performance of your web site or application to increase productivity and streamline operations.
Infrastructure
Services
Achieve has vast experience in creating global web solutions that far out perform the competition.
Globalization
Services
„Going Mobile‟ is no longer an option. With Achieve you won‟t have to compromise design for utility.
Mobility & End User
Services
8
9. Intro to Caching
• A cache is a system that stores the results of some
processing for repeated later use.
• Example in Drupal is the page cache.
• Utilized via the cache_set() and cache_get() Drupal API
calls.
• Caches in Drupal are Key/Value pairs.
10
10. Intro to Caching: How it Works?
REQUEST
CACHE_
GET()
CHECK CACHE
RETURN
CACHED
DATA
11
QUERY CACHE
11. Intro to Caching: How it Works?
REQUEST
CACHE_
GET()
CHECK CACHE
QUERY CACHE
GENERAT
E DATA
RETURN
CACHED
DATA
CACHE_SET()
12
SAVE CACHE
13. What is Memcached?
• “Memcached is an in-memory key-value store for small
chunks of arbitrary data (strings, objects) from results of
database calls, API calls, or page rendering.” –
memcached.org
• A system to cache data in RAM rather than in database.
• Replaces Drupal‟s default database cache.
• Just one component of your high performance scalable
architecture.
14
15. Why Use Memcached?
• Improves cache read/write performance
• Reduces the number of database queries
• Reduces database load
• Can improve page load performance*
• Allows distributing the cache load to separate servers
• Moves the threshold for performance degradation to a higher
number of concurrent users.
* By itself, Memcache.d won‟t provide a significant performance improve on low traffic sites. The page load performance
boost comes mostly from offloading work from your database server so that the system can handle more requests.
16
16. Performance Stats
• Performance & Scalability
• Cache read performance: 4X Faster
• Cache write performance: 60X Faster
• Actual statistics* (Drupal core vs. Memcached)
• 1000 Cache write operations: 12 seconds vs. 0.2 seconds
• 1000 Cache read operations: 0.4 seconds vs. 0.1 seconds
• DB queries: 3028 vs. 13
* Cache Read/Write stats are for performing 2,000 operations (1,000 write, 1,000 read)
* Your results will vary, tests performed on a single AWS instance with default D7 install
17
19. When to (or not) use Memcached
• Use Memcached when:
• Significant portion of site traffic is authenticated users or when
static page caching isn’t an option.
• Have adequate server resources to allocate to Memcached
without negatively impacting other services.
• Have enough traffic to make a difference.
• Don‟t use Memcached when:
• Site is completely anonymous traffic
•
Static caching is better for this (such as Varnish or Boost)
• Low traffic sites that are not straining server resources
•
Probably won’t see any noticeable benefit and have increased the
complexity of the system.
• Severely resource constrained single server hosting
•
Can negatively impact performance/scalability in this case.
21
21. Components of Memcached Solution
• Memcached Daemon (v 1.4.x)
• PHP Extension
• PECL Memcache (> 3.x)
• PECL Memcache.d (> 2.x)
• TIP: Use the setting “memcache_extension” to select
which library to use if you have both installed.
• Memcache Module
• Drupal 8, Drupal 7.9+, Pressflow 6, or Drupal
6 with core patch
24
22. PECL Memcache vs. Memcached
PECL Memcache
PECL Memcached
Stable, not as frequently updated
Newer, more features
Easy to install
More complicated install with multiple
dependencies
Lower PHP memory footprint in some
cases.
Can be slightly faster in some cases
Slightly better for single server
Memcached daemon installations.
Slightly better for distributed or
clustered Memcached daemon
installations.
Igbinary support
* Generally, we default to PECL Memcache unless a project can take
advantage of the additional features provided by PECL Memcached.
25
24. Minimal Install: Daemon Configuration
/etc/memcached.conf (or /etc/default/memcached)
• Configuration file for the memcached daemon
• Important settings:
• -m 64
•
Amount of memory in MB to allocate.
• -p 11211
•
TCP/IP Port to listen for cache requests on.
• -l 127.0.0.1
•
IP Address to listen for cache requests on.
27
25. Determining Memcached size
• Look at the data size of all cache* tables in your DB.
• Use this handy query to get the total size:
SELECT count(*) TABLES,
sum(table_rows) ROWS,
concat(round(sum(data_length)/(1024*1024),2),'MB') DATA,
concat(round(sum(index_length)/(1024*1024),2),'MB') idx,
concat(round(sum(data_length+index_length)/(1024*1024),2),'MB') total_size
FROM information_schema.TABLES
WHERE TABLE_SCHEMA=’dbname' AND TABLE_NAME LIKE "cache%"
• Total memory allocated to Memcached should be at least
the size returned in the “DATA” column.
• I usually like to add at least 50% to this size to start with.
28
26. Note about Memcached security
• Basically there are no security controls in Memcached.
• Any user or application that can establish a TCP
connection to the Memcached daemon can access all
data stored within Memcached.
• Security Best Practices:
• Always set the daemon to listen on a specific IP
address/network interface.
• Use 127.0.0.1 if there is only 1 Memcached server and it is
running on the same server as the web server.
• Use iptables or other firewall to restrict access to the
Memcached TCP/IP Port(s).
29
27. Minimal Install: Drupal Settings.php
// Required minimum settings.
$conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
// Optional, but recommended settings.
$conf['memcache_key_prefix'] = 'ai_'; // Remember about 250 byte key size limit.
$conf['lock_inc'] = 'sites/all/modules/contrib/memcache/memcache-lock.inc';
$conf['memcache_stampede_protection'] = TRUE;
// The following are required only if Memcached is on a different server.
$conf['memcache_servers’] = array(’10.11.12.13:11211' => 'default');
$conf['memcache_bins’] = array('cache' => 'default');
// Only if both PECL Memcache and Memcached are installed.
$conf['memcache_extension'] = 'Memcache';
30
30. Minimal Install: Verifying
• Memcache Admin Module
• Adds configuration page at Configuration => Memcached
• Enable the option “Show Memcache statistics” to see a log of
all Memcached calls on each page.
• Devel Module
• Enable the Query Logging option.
• Memcache Admin UIs:
• https://code.google.com/p/phpmemcacheadmin/
• http://livebookmark.net/journal/2008/05/21/memcachephpstats-like-apcphp/
33
31. Minimal Install: Verifying - Memcache
• Enable the module “Memcache Admin”
• Config page at Configuration => Memcache
• Enable the option “Show Memcache statistics” to see a log of
all Memcached calls on each page.
34
32. Minimal Install: Verifying - Devel
• In Devel Settings, enable “Display query log”
• Reload pages, you‟ll see a list of all queries executed
• Ensure there are no calls to any “cache*” tables (other than
cache_form)
• Ensure there are no calls to the “semaphore” table (lock.inc)
35
36. Distributed Install: When To Use It
• High traffic sites making more cache requests than a
single instance can efficiently handle.
• The default config of a Memcached daemon will support up to
1,024 simultaneous connection requests.
• Large caches where it makes sense to separate out cache
data by type or update frequency (e.g. cache_menu is
usually pretty static whereas the default cache could be
constantly changing)
• I start looking at this as an option when the memory allocation
for Memcached starts getting over 128MB.
39
37. Distributed Install: Types
• Multi-server/Clustered
• Distributes cache load across multiple Memcached servers.
• Allows for handling larger numbers of cache operations.
Useful for high traffic sites.
• NOTE: Caches are not replicated between multiple servers by
default.
• Multi-bin
• Segments different types of caches to different servers.
• Useful for very large caches with varying characteristics (e.g.
segmenting mostly read-only caches from caches that are
frequently updated)
• Hybrid
• You can combine both of the above approaches (e.g. have
multiple bins with each bin spread across multiple servers).
40
38. Distributed Install: Configuration
• Server configuration is same as the basic install, just on
multiple servers.
• Make sure the Memcached daemon is configured to listen on
each servers external IP address (not 127.0.0.1).
• All daemons within a cluster should be configured with the
same memory allocation.
• You can have multiple Memcached daemons running on a
single server. Just use different ports.
41
39. Distributed Install: Configuration
Additional settings needed in the site settings.php file
// Must be exactly the same on all web servers.
$conf['memcache_servers' = array(
'10.11.12.13:11211' => 'default',
'10.11.12.14:11211' => 'default',
'10.11.12.15:11211' => 'my_readonly_bin',
);
$conf['memcache_bins’] = array(
'cache' => 'default', // must specify if setting this variable.
'cache_bootstrap' => 'my_readonly_bin',
'cache_menu' => 'my_readonly_bin',
'cache_path' => 'my_readonly_bin',
);
// If using PECL Memcached.
$conf['memcache_options'] = array(
Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_CONSISTENT,
);
42
40. Tuning Tips
• Watch the “Available Memory”, “Evictions” (==0), and
“reclaimed” (==0) stats to determine if memory allocation
needs to be adjusted.
• Watch “Max Connection Errors” (==0), “Accepting
Connections” (==1), “Connection Yields” (==0), and
“Listen Disabled Number” (==0) to determine when you
need to move from a single memcached server to
multiple servers.
Tip: See this page for a description of various stat counters:
http://www.pal-blog.de/entwicklung/perl/memcached-statistics-statscommand.html
43
42. Are There Alternatives?
Redis (https://drupal.org/project/redis)
• Great for persistent or replicated caches.
• Supports additional caching options such as structured data
caching.
• More efficient support for selective cache delete/expiration.
• Nice comparison to Memcache:
http://noblogdeffound.blogspot.com/2013/04/memcached-vsredis-comparison-name.html
MongoDB Cache (https://drupal.org/project/mongodb)
• Great for extremely large caches or when a large amount of
data must be stored in a single cache key.
45
43. Conclusion
By adding Memcached to our hosting solution we:
• Reduced the number of database queries.
• Reduced the load on our database servers.
• Reduced the amount of time the site spends accessing
cached data.
• Reduced the rendering time for page requests.
• Improved the overall scalability of the site.
46
44. Thank You
Shawn Smiley
Lead Engineer
shawn.smiley@achieveinternet.com
Drupal: shawn_smiley
800.618.8777
45. Connect with Achieve
If you have any further questions or would like to get in touch with
Achieve you can do so on these various channels:
info@achieveinternet.com
linkedin.com/company/Achieve-Internet
plus.google.com/101805819007866218919
@AchieveInternet
facebook.com/pages/Achieve-Internet
48
Achieve has been involved with web development projects since our inception in 1998. We began leveraging Drupal as our primary tool of choice in 2005. We focus on the performance, infrastructure and foundation of web development. We focus on building high-end enterprise platforms that can scale to meet growing demands. Achieve is headquarter in San Diego, we have an office in Los Angeles and dispersed team members in Silicon Valley and the greater Philadelphia are. We have worked with a number of top tier Media and Entertainment clients, building them Enterprise solutions those clients include….[next slide]
Along with the Media and Entertainment space we have worked with large healthcare and Life Sciences clients as well as…[next slide]
Drupal.org for the Apache Solr implementation among others.
Achieve focuses on 5 pillars of developmentWeb application development, building full infrastructures form the ground up as well as enhancing current platformsWe specialize in custom integrations with copious third party platforms from Oracle ERPs to Salesforce, Social Media, Marketing Software, along with many many othersThe focus of todays webinar is Memcache and is Infrastructure related- we can fine tune an environment to take on any type of traffic loadA 4th of our staff is bilingual and we have done tons of work helping clients expand their reach to an international and multilingual audience.We strive to build and architect our solutions in a way that adhere to UX best practices. We have been leveraging Responsive Design for many years to help our clients increase their online presence regardless of which device their users are on.
Updated Perf Stats (1000 cache get/set operations each):DB Only: Set Time: 14s; Get Time: 0.4s; total DB queries: 3028DB Only: Set Time: 11s; Get Time: 0.4s; total DB queries: 3028DB Only: Set Time: 11s; Get Time: 0.4s; total DB queries: 3028PECLMemcache: Set Time: 0.2s; Get Time: 0.1s; total DB queries: 13PECLMemcache: Set Time: 0.2s; Get Time: 0.1s; total DB queries: 13PECLMemcache: Set Time: 0.2s; Get Time: 0.1s; total DB queries: 13PECL Memcached: Set Time: 0.1s; Get Time: 0.2s; total DB queries: 13PECL Memcached: Set Time: 0.1s; Get Time: 0.2s; total DB queries: 13PECL Memcached: Set Time: 0.1s; Get Time: 0.2s; total DB queries: 13PECL Memcached w/ igbinary:
Update chart for latest versions, research blog post about some issue with peclmemcached…Article on excessive memory usage with Memcached: http://2bits.com/articles/drupal-site-excessive-memory-usage-traced-apc-and-php5-memcached.htmlUse PECL Memcached when:Doing clustered Memcached implementation with multiple instances.Site will be doing a lot of object serialization in the Caching layer, then make sure to enable lgbinary support.
Assuming Ubuntu 12.04 or later.
On some systems, these settings could be at /etc/default/memcached.
The memcache module does NOT need to be enabled.If specifying the server address, all web servers must use the same address for each memcached server.
First show what things look like without Memcached configured, then show the output with it enabled to illustrate the differences.