What is Quality of Service?
-Basic mechanisms
-Leaky and token buckets
-Integrated Services (IntServ)
-Differentiated Services (DiffServ)
-Economics and Social factors facing QoS
-QoS Vs. Over Provisioning
When we desire a communication between two applications possibly running on different machines, we need sockets. This presentation aims to provide knowledge of basic socket programming to undergraduate students. Basically, this presentation gives the importance of socket in the area of networking and Unix Programming. The presentation of Topic (Sockets) has designed according to the Network Programming Subject, B.Tech, 6th Semester syllabus of Punjab Technical University Kapurthala, Punjab.
INTRODUCTION
WHAT IS OSI?
OSI MODEL
TYPES OF LAYERS
PHYSICAL LAYER
DATA LINK LAYER
NETWORK LAYER
TRANSPORT LAYER
SESSION LAYER
PRESENTATION LAYER
APPLICATION LAYER
slides are about load balancing as a concept and implementation of load balancing on computer technical level
slides show the server load balancing
different architectures , algorithms and examples
What is Quality of Service?
-Basic mechanisms
-Leaky and token buckets
-Integrated Services (IntServ)
-Differentiated Services (DiffServ)
-Economics and Social factors facing QoS
-QoS Vs. Over Provisioning
When we desire a communication between two applications possibly running on different machines, we need sockets. This presentation aims to provide knowledge of basic socket programming to undergraduate students. Basically, this presentation gives the importance of socket in the area of networking and Unix Programming. The presentation of Topic (Sockets) has designed according to the Network Programming Subject, B.Tech, 6th Semester syllabus of Punjab Technical University Kapurthala, Punjab.
INTRODUCTION
WHAT IS OSI?
OSI MODEL
TYPES OF LAYERS
PHYSICAL LAYER
DATA LINK LAYER
NETWORK LAYER
TRANSPORT LAYER
SESSION LAYER
PRESENTATION LAYER
APPLICATION LAYER
slides are about load balancing as a concept and implementation of load balancing on computer technical level
slides show the server load balancing
different architectures , algorithms and examples
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...Naoki Shibata
Weihua Sun, Naoki Shibata, Keiichi Yasumoto, Masaaki Mori, "A Method for Overlay Network Latency Estimation from Previous Observation", in Proc. of The Twelfth International Conference on Networks (ICN2013), pp.95--100, 29 Jan. 2013.
Abstract—Estimation of the qualities of overlay links is useful for optimizing overlay networks on the Internet. Existing estimation methods requires sending large quantities of probe packets between two nodes, and the software for measurements have to be executed at both of the end nodes. Accurate measurements require many probe packets to be sent, and other communication can be disrupted by significantly increased network traffic. In this paper, we propose a link quality estimation method based on supervised learning from the previous observation of other similar links. Our method does not need to exchange probe packets, estimation can be quickly made to know qualities of many overlay links without wasting bandwidth and processing time on many nodes. We conducted evaluation of our method on PlanetLab, and our method showed better performance on path latency estimation than estimating results from geographical distance between the two end nodes.
Beyond The Data Grid: Coherence, Normalisation, Joins and Linear ScalabilityBen Stopford
In 2009 RBS set out to build a single store of trade and risk data that all applications in the bank could use. This talk discusses a number of novel techniques that were developed as part of this work. Based on Oracle Coherence the ODC departs from the trend set by most caching solutions by holding its data in a normalised form making it both memory efficient and easy to change. However it does this in a novel way that supports most arbitrary queries without the usual problems associated with distributed joins. We'll be discussing these patterns as well as others that allow linear scalability, fault tolerance and millisecond latencies.
All of Your Network Monitoring is (probably) Wrongice799
Monitorama 2016 talk about network monitoring covering topics like network device drivers, ethtool, and some interesting bugs/features.
For more information about monitoring and tuning the entire Linux network stack, see: blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/
Summit 16: Achieving Low Latency Network Function with OpnfvOPNFV
It's challenging to have low-latency VNFs in virtualization and cloud environment. OPNFV KVM4NFV project, together with other OPNFV projects like OVSNFV, helps to achieve low latency network functionality. This session will firstly introduce KVM4NFV project. Then some DPDK workload will be used to show how the KVM4NFV project helps reducing the packet latency and compare the result with and without OPNFV environment. In the end, experience will be shared on how to setup the OPNFV environment correctly, and how to tune the OPNFV environment to meet the latency and performance requirement.
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...Amazon Web Services
With the maturity and breadth of cloud solutions, more enterprises are moving mission-critical workloads to the cloud. American Commercial Lines (ACL) recently migrated their Oracle ERP to AWS. ERP solutions such as Oracle E-Business Suite require specific knowledge in mapping AWS infrastructure to the specific configurations and needs of running these workloads. In this session, Apps Associates and ACL walk through the considerations for running Oracle E-Business Suite on AWS, including deployment architectures, concurrent processing, load balanced forms and web services, varying database transactional workloads, and performance requirements, as well as security and monitoring aspects. ACL shares their experiences and business drivers in making this transition to AWS.
Principles of measurement including accuracy, precision and significant figures.
**More good stuff available at:
www.wsautter.com
and
http://www.youtube.com/results?search_query=wnsautter&aq=f
Monitoring Network Performance in ChinaThousandEyes
Learn about the most common network issues in China, as well as best practices for monitoring DNS, benchmarking performance and sanitizing content for the Great Firewall.
See the full webinar at https://www.thousandeyes.com/resources/network-performance-in-china-webinar
Principles and Practices in Continuous Deployment at EtsyMike Brittain
Presented at ALM Forum 2014.
Like what you've read? We're frequently hiring for a variety of engineering roles at Etsy. If you're interested, drop me a line or send me your resume: mike@etsy.com.
http://www.etsy.com/careers
Presentation on 'The Path to Resolverless DNS' by Geoff HustonAPNIC
Presentation on 'The Path to Resolverless DNS' by Geoff Huston for OARC 39 and 47th CENTR technical workshop, held in Belgrade on 22 and 23 October 2022
DPDK Summit 2015 - Aspera - Charles ShiflettJim St. Leger
DPDK Summit 2015 in San Francisco.
Presentation by Charles Shiflett, Aspera.
For additional details and the video recording please visit www.dpdksummit.com.
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruptionSam Bowne
Slides for a college course based on "DNS Security" by Anestis Karasaridis.
Teacher: Sam Bowne
Twitter: @sambowne
Website: https://samsclass.info/40/40_F18.shtml
Denial of Service Mitigation Tactics in FreeBSDSteven Kreuzer
Protecting your servers, workstations and networks can only go so far. Attacks which consume your available Internet-facing bandwidth, or overpower your CPU, can still take you offline. His presentation will discuss techniques for mitigating the effects of such attacks on servers designed to provide network intensive services such as HTTP or routing.
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.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
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/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
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.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
5. What is latency?
• Latency impacts the user experience
• Lower latency = more responsive = better
experience
• A fast download over link of high latency can take
longer than a slow down load over a low latency
link
6. Why measure latency?
• Efficiency:
• Improved resource usage
• Improved user experience
• Spotting and diagnosing defects
7. Where is Latency?
• Between:
• A CPU and it’s cache
• Client and server over a network
• Application and disk
• Anywhere a system does work
8. Where is latency?
• L1 cache reference 0.5 ns
• Branch mispredict 5 ns
• L2 cache reference 7 ns
• Mutex lock/unlock 100 ns
• Main memory reference 100 ns
• Compress 1K bytes with Zippy 10,000 ns
• Send 2K bytes over 1 Gbps network 20,000 ns
• Read 1 MB sequentially from memory 250,000 ns
• Round trip within same datacenter 500,000 ns
• Disk seek 10,000,000 ns
• Read 1 MB sequentially from network 10,000,000 ns
• Read 1 MB sequentially from disk 30,000,000 ns
• Send packet CA->Netherlands->CA 150,000,000 ns
9. Causes of network latency
• Physical limitations - speed of light, wire speeds
• Congestion at switches, routers and servers
• Packet loss due to noise, congestion, faults
10. Round Trip Times
• aka RTT
• Time to go their and back again
• Return route my be different from the outbound
11. Network Latency Tools
• Ping. Time between sending ICMP Echo Request and
receiving ICMP Echo Reply
• Traceroute. Time between sending a packet with
incremented TTL value and receiving ICMP Time
Exceeded package..
• tcptraceroute. traceroute using TCP packages to
configurable ports
• mtr - does ICMP, UDP and TCP traceroute
13. Transmission Control
Protocol
• Stateful, connection oriented protocol for reliable
data transmission
• Guarantees data delivery and ordering
• Server maintain state tables of connections
• HTTP, SMTP, SSL/TLS, IRC, SSH…
14. TCP
• Three way handshake. 1.5 roundtrips to set up
connection
15. TCP Latency Improvements
• By reducing number of round trips:
• Compress content into fewer packets. 1500 MTU
=1460 byte payload
• TCP timestamps take an extra 12 bytes = 1448
byte payload. Timestamp can be disabled.
16. TCP Improvements
• Move your content closer to your users:
• Make good use of local caches (e.g. browser)
• Content Delivery Networks (Cloudflare,
Cloudfront, Akamai)
• Host geographically closely
• Host at locations with low latency links
17. HTTP Latency
• Use HTTP/1.1, HTTP/2 (née SPDY)
• Ensure pipelining is enabled
• Tune TCP keep alive
• Try TCP corking (buffer stream and
send), nodelay (buffer small
payload
18. HTTP Latency
• Take care over caching and provide well formed
headers
• Use tools like Pagespeed Insight to analyse
performance
• Pagespeed module to modify content on the
server
19. SSL/TLS
• Use AES and compatible libraries on processors
with AES-NI for hardware acceleration
• Elliptic Curve (EC-DSA) for smaller certs & keys
and better performance.
• Terminate SSL at the edge and consider using
lightweight or no encryption inside the local
network.
20. User Datagram Protocol
• ‘Fire and forget’ - no inbuilt reliability, connection-
less
• No hand shake
• Ordering and retransmission at the application
level
• Stateless, so no connect states to manage
• DNS, VOIP, SNMP, RIP, VPNs, Games, Mosh
21. Domain Name Service
• DNS lookups can hamper user experience
significantly
• Synchronous lookup before each resource
access
• Uses UDP (usually) for client/server lookups
22. DNS
• Caches are distributed nearer to the user (DNS
resolvers/forwarders)
• Great for popular sites
• For lower traffic site may still require an
authoritative lookup
23. DNS CNAMES
• DNS CNAMEs - name -> name -> IP
• Two DNS lookups. Two round trips.
• Never use a CNAME at a zone apex if you have
other records in that zone.
24. DNS Time to Live
• Time a DNS record is cached in a non-
authoritative servers.
• Need to strike a balance between keeping the
record cached near the user and the ability to
update the record
• 1 day is a good starting point. Decrease before
record switch overs.
25. DNS clients
• Avoid synchronous DNS lookups where possible:
async libraries, or batch process results later
• Consider local hosts files, use config
management to distribute
26. DNS
• Keep DNS geographically close to users
• Use providers with anycast DNS servers
• Globally distribute records if the audience is
global
• Can make initial load significantly faster
27. QUIC
• Experimental protocol from Google for encrypted,
multiplexed streams over UDP
• Aims to reduce number of round trips
• May make the next TLS standard
• Supported by Chrome, prototype server
28. Client and Servers hosts
• Watch for queuing - something in a queue means
not enough resource to service the request
• Disk IO historically a problem. Throughput in
IOPS. SSDs are reducing this latency.
• Be familiar with the standard system monitoring
tools
• Be wary of multi-threaded processes and locks
29. Cloud
• Get familiar with cloud providers tools. Useful views
outside the hosts.
• Load test for 5+ cycles of monitoring
• Can provide protocol level information
• Test apps from the point of view of the users -
Nagios, Pingdom, hitting representative end points
• Don’t take their word for performance - measure it
Measured in seconds, typically, or milliseconds on the IO scale and ns on the CPU/memory scale. Minutes, hours, days for large processing tasks.
Or action that starts the chain of events. This might be a keypress, or a download request or following a link
The reaction to the action - displaying the keypressed on the screen, starting the download or finishing the download, depending on what it’s being used for, painting an initial page layout or loading the full page.
The end point is often viewed from the point of the view of the next step, it is it that which suffers from the latency.
Typing on a keyboard = <40ms response is needed = the less the better.
The more interactive the lower the latency between user input and the response.
Some events are synchronous and must complete before the next step can start and will delay the next event.
Some latency is long enough for other task to go away and come back later - they are syncronous
CPUs waiting for IO to finish can be used for other tasks
Users get faster response to their interactions and get their work load done in a shorter time
A db request takes 5 seconds where normally it would take one
Measure over time, graphs are useful
L1, L2, L3, memory, disk
Open file, Read file, Write file Close file, Seek
A packet going from a->b is work
A car accelerating - latency between start and 85mph
More topically, there was a significant latency between Richard III dying and getting a king burial
CPU cycle is currently ~0.3ns. Which is 5x the speed light travels 1m
150,000,000 = 150ms
Sheer distance is a limiting factor. We’re reaching or have reached in some areas the point where light speed is the limiting factor.
Congestion is bandwidth over use - packets get queued and ultimately dropped.
Packet loss will lead to retransmission in TCP in at the TCP layer
UDP the application will have to deal with.
This increases latency due to timeout before retransmission.
Route out may also differ for each run.
Because different paths are taken, it can be hard to tell if the delay is out or return
Measuring point to point latency requires clocks synchronised with the require degree of accuracy (< a few ms)
Sometimes ICMP Echo requests can dropped for security reasons.
Both ICMP Echo and Time Exceeded may be give low priority compared to data traffic, skewing the values
Demo
sudo mtr -P 53 -U 8.8.8.8
sudo mtr -P80 -T www.google.com
TCP is designed for (relatively) long running connections transferring a (relatively) large amount of data
Makes sure packets are received by the next network layer (app) in the order they were sent.
Deals with retransmission on error after an error.
Quite complex, quite a lot of tweakable values, though largely well tuned by default in modern OSs - worth visiting for high-utilisation workloads
Most common protocol currently.
Connection tables can be seen with netstat -a on Windows and UNIX like OSs, including states.
telnet is useful for testing plain text TCP session.
In establishing connections - there is 1.5 trips to set up the connection.
To the US east cost, 40ms, so 120ms setup cost per connection. Connections may be asyncronous
There maybe more latency at certain hops - eg. CPE to ISP might be 20ms or more (ADSL)
Less round trips == less latency and more raw bandwidth after decompression.
Compression server side can lead to latency in the compression. Pick a fast compression algorithm, or pre-compress files. Nginx supports this.
Timestamps are generally best left on as they are used m
Browser caches have the latency of the users local machine, which may be RAM or disk. A machine with a good network connection and slow 5400rpm disk might be slower to get cached items that from a server, especially locally.
CDNs require a good understanding of the data set and careful management. Cloudflare is of particular note as it’s free to start. CDNs also provide other functions like application firewall, DDOS mitigation.
Geographically closer - given the same link types, latency will be less. The closer, the lower the latency.
Not all hosting locations are created equally. A site may have a 100Gbps in and out, but if it’s heavy contended it may be slower for your app than a small link. Measure it.
SPDY / HTTP/2 add Multiplexing, compression, prioritisation
Pipelining is part of HTTP/1.1 and should be enabled by default these days. It’s a method of sending a stream of requests without waiting for each reply.
TCP keepalive will keep TCP sessions open for longer, but must be balance against server resource usage, especially under heavy loads.
No_delay will buffer up small payloads and send them in a single packet. e.g. a 1 byte packet will have 20 byte packet head, plus lower level encapsulation data.
If good cache headers get set from the out set, any system between the users’ screen and the server will benefit
Pagespeed module is useful as a quick fix, but be sure to test before long term use.
Nothing is better than really known the application and tuning accordingly.
AES-NI support in recent OpenSSL. Check CPU config in any VMs in hosting providers.
EC-DSA Needs modern clients and servers.
Load balancers should be tuned for encryption hand off.
A well configured SSL termination should pass HTTP headers through to indicate it came over a secure connection. X-Forwarded-Proto (defacto) , Front-End-Https (MS), Secure:
UDP is used for message based protocol - typically low volume where speed is important.
No handshake - the packet is just sent.
Stateless, so no overhead for connection tracking in the kernel. Netstat only shows UDP listeners.
Application layer needs to handle errors and missing/out of order packets .
Smaller header than TDP (8 bytes vs 20 bytes)
VPNs - use UDP not TCP due to out tunnel drop causing retransmission of both the inner and outer streams. This can lead to failure caused by amplification.
DNS is the look up of IP addresses from names
Used liberally in systems because IPs are hard to remember and server IPs can change.
The initial load of a web site will be a DNS request for the sites IP. This is syncronous.
UDP is used for most client -> server look ups. Zones transfers use TCP due to volume of data.
DNS makes heavy use of caches. These are closer to the user and server to reduce load on authoritative servers as well as provide a lower latency response to users.
Popular sites will mostly hit the cache as one use request that result in the authoritative server being hit results in it being cached for other.
CNAME records are a useful short cut to point name to names
Two DNS looks occur with a CNAME record - one to find the canonical name, the other to retrieve the IP. 2 round trips.
As as aside never use CNAMEs on a zone apex - root of the domain - that has other records. Those other records will not be properly addressable - especially mail will fail, possibly intermittently.
Once a client requests results in the auth server being polled, the result gets cache for for the TTL of the record. Once the TTL counts to 0, a request to the authoritative server is done.
For internal DNS where the authoritative server is local, a lower TTL may be appropriate.
Concurrency helps machines do meaningful work while waiting for other tasks to complete. DNS requests can plentiful and if synchronous, even with a relatively low latency, the delays can stack up. Certainly don’t do this for the purpose of logs unless asynchronous.
Local hosts files allow the use of name and provide very low latency resolution at the cost of ease of management and number of records. Configuration management tools can help with the management, and populate hosts files across servers.
Anycast is a mechanism using routing tables to send users to the closest server by latency or geographically which still having the same global IP.
If the audience is global, distribute the authoritative servers.
This will make the latency of the initial connection to the server lower and improve the overall experience.
QUIC is still experimental, but an interesting look at the way protocols may be headed
SSL over UDP, with some similarities to SPDY. It multiplexs connections and aims to reduce the number of round trips
It may become standardised.
Not widely support yet.
Queuing shows that there isn’t sufficient resource to satisfy demand. A degree of queuing is normal and desirable - the resource always has work available to do - but queuing means latency. What a reasonable length queue is depends on the speed at which requests get processed and what the latency expectations are.
Disk IO, especially random access, historically has been a bottleneck. IOps are number of input/output operations per second. 7200rpm SATA disk does 75-100 IOPS. 15K SAS 175-210 IOPS. SSD are 1000s or 10,000s or even millions in some pre-market models.
sar, iostat, vmstat, top, mpstat tools
Multi thread process use lots of core and CPU but may have locks for some resources which can cause bottleneck.
AWS Cloudwatch is very good. Once a service is under load, get used to the figure and set alerts on deviations. I’ve solved most AWS performance issue just with Cloudwatch with 1 minute intervals.
Load testing needs to gather enough information over time. If the cycle period for monitoring is 5 minutes, at least 25 minutes of load should be applied. Ideally use smaller cycles and longer periods to see trends.
Protocol level stats for a load balancer might be number of 400s or 500s from a web app, and the latency of the requests from the point of view of the load balance.
Monitor latency from the point of view of the clients. If the client base is global, monitor the end points they will hit globally.
Don’t trust what cloud providers say - measure it and prove it meets requirements for the given work load. As with any performance figures, they are often under ideal conditions and may not reflect results under complex conditions.