Welcome!

Web Performance is a Journey, Not a Destination

Mehdi Daoudi

Subscribe to Mehdi Daoudi: eMailAlertsEmail Alerts
Get Mehdi Daoudi via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Continuous Integration, Application Performance Management (APM), DevOps Journal

Blog Feed Post

How to Optimize TCP | @DevOpsSummit @Catchpoint #DX #DevOps #WebPerf

The aim of the modern web is to provide consumers with an excellent user experience by loading web content quickly & seamlessly

Optimize TCP to Speed Through the Digital Freeway
By Dhanush Suhas

TCP (Transmission Control Protocol) is a common and reliable transmission protocol on the Internet. TCP was introduced in the 70s by Stanford University for US Defense to establish connectivity between distributed systems to maintain a backup of defense information. At the time, TCP was introduced to communicate amongst a selected set of devices for a smaller dataset over shorter distances.

As the Internet evolved, however, the number of applications and users, and the types of data accessed and stored also evolved. The original intent of TCP was to communicate data in the form of text across computers; today’s data transfer is more complex including high pixel images, audio files, and video delivery.

The aim of the modern web is to provide consumers with an excellent user experience by loading web content quickly and seamlessly. This can be achieved by faster transmission of content over the Internet. TCP has evolved over the years and the protocol enhancements have made it possible to transmit several types of data content with optimal performance for all users.

In this article, we talk about three protocol enhancements made to TCP to have content delivered at a better rate:

  • Multipath TCP
  • TCP Connection and Session reuse
  • TCP Slow Start

To appreciate the benefits of these optimizations, it’s necessary to understand the design and some of the drawbacks of the older version.

TCP Connection
For data to be communicated reliably and in the right sequence between two systems, TCP must initially establish a connection between them. Once the connection is established, TCP determines how to break down the data that needs to be sent over the network.

TCP was initially designed to establish communication after a successful three-way handshake between the client and server (See Diagram below). Along with the three-way handshake, the client and server also exchange security information in the form of certificates. These certificates authorize the client to set up a secure communication, consuming additional network time during reconnection tries in cases of connection breakdowns.

Drawback #1: Network Switching
When a mobile device streaming live content over a Wi-Fi network goes out of range, the device switches to its mobile carrier. In this scenario, TCP needs to repeat the three-way handshake and the security information exchange once again; in the process, the device drops the existing Wi-Fi connection. The multipath feature was enabled to overcome the drawback of network switching.

Multipath TCP
Multipath TCP has capabilities to enable multiple sub-flows in a single TCP session. For example, consider two separate networks – Network 1 and Network 2. The server can send data over wireless Network 1 and re-establish the connection with wireless Network 2 if Network 1 is unavailable. The network switch is done without dropping the existing connection, which eliminates the additional overhead of TCP connection time.

To understand multipath TCP better, let’s look at connection and session reuse, which is used to speed up TCP time.

Connection and Session Reuse
Once a connection is established between the client and server using the three-way handshake, the connection can be used to make multiple HTTP requests to retrieve contents from the same server. This is known as connection reuse.

During the handshake, the server shares a set of session information with the client. This includes the time the connection will be alive and SSL information containing the encryption keys. If the session ends, both the three-way handshake and the SSL negotiation need to be reestablished. Session reuse ensures the data streaming for the client is not disturbed so the web content or stream data does not have to be reloaded.

How Does Multipath TCP Work?
Let’s use an example of a smartphone with access to both a 4G connection and Wi-Fi interface. Say, the smartphone uses the 4G network to establish the connection to the server. To establish the connection:

  • The smartphone sends a SYN along with the MP_CAPABLE TCP option enabled (indicates the smartphone supports Multipath TCP)
  • The server responds back with SYN+ACK with MP_CAPABLE, after which the connection is established
  • This connection is established between the server and the Smartphone 4G carrier

Now, if the smartphone needs to send data over the Wi-Fi, then it sends a SYN with MP_JOIN TCP option. This option contains all the information required to authenticate and authorize the device and the Wi-Fi. For this, the server responds with SYN+ACK MP_JOIN and the new communication path is established.

By using the multipath TCP, the original connection established will not be closed, which does not affect the data stream and helps smartphone users have data stream consistent while moving from one wireless network to another.

Drawback #2: Flow Control
TCP controls the rate at which data is transmitted between the client and server. The internet infrastructure design is not the same across all regions, which means the amount of traffic handled at one location will not be the same as other.

Say, there are three Internet infrastructures over which the data can be transmitted from server to the client. We see A and C are completely capable of handling the rate at which the data is sent from the server, whereas B has a capacity issue. B can handle only 20Mbps of data, whereas the server sends at a rate of 30Mbps. This would lead to packet loss which in turn would result in retransmission of the lost packets. Retransmission forces the server to wait further for the acknowledgment, resulting in higher load time of the content on the wire.

TCP slow start was introduced to overcome this drawback.

TCP slow start works based on the windowing technique. This helps TCP control the rate at which data is sent over the network, and to understand the maximum capacity of data that can be sent over the wire.

TCP slow start exponentially increases the rate at which data is transmitted. Below we see the flow of data from the server to the client. Slow start initiates with one packet, on an acknowledgment from the client, it increases transmission rates by 2^n (1, 2, 4, 8 …). If any packet loss is observed over the network Slow Start retransmits only the lost packet, rather than sending all the packets in the window.

Slow start increases the window size exponentially until the maximum window size of the receiver is reached or when there’s packet loss due to congestion. In such scenarios, TCP slow start adjusts to the previous window size for which all the packets were acknowledged.

Using TCP slow start, the congestion over the network can be identified early hence reducing the packet loss and the overall retransmission of the lost packets. It also identifies the network capacity enabling the server to send data at a consistent rate over the network. This improves the TCP time which helps users experience a faster and more reliable data transfer.

Concluding with a real-world scenario on how network latency can affect the overall page load time and end user experience of a website.

In the scatterplot graph shown below, we see a lot of outlier data points for the response time or the time taken to load the base HTML page for a website in China. The base HTML page loaded the fastest with a response time of 1.17 seconds while the slowest response time was at 35 seconds as highlighted in the graph. Latency in loading the base request affects the end-user experience as it delays loading the required content on the page.

Scatterplot graph showing the distribution of data for Response Time

So, what could be causing the issue? Is it a slow server or a high network latency which has resulted in the inconsistent response to incoming requests? Catchpoint TCP and TraceRoute monitor types can help with the root cause analysis.

Catchpoint’s TCP and traceroute monitors can identify the network path chosen between the client and the server. Information about each hop in the network (Latency, IP, ISP, and etc.) can provide valuable insights into the impact of network performance on your overall response times. The TCP tests help monitor the time taken for requested content to be routed to the desired destination.

In the current digital landscape, speed and reliable data delivery are critical to a positive user experience. It’s equally pertinent to monitor the routes taken through the Internet to deliver content. This helps us isolate performance degradations caused by network failures or route inefficiencies.

The post Optimize TCP to Speed Through the Digital Freeway appeared first on Catchpoint's Blog - Web Performance Monitoring.

Download Show Prospectus ▸ Here

DevOps at Cloud Expo taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world.

Must Watch Video: Recap of @DevOpsSummit New York Javits Center

The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.

Nutanix DevOps Booth at @DevOpsSummit New York Javits Center

DevOps at Cloud Expo will expand the DevOps community, enable a wide sharing of knowledge, and educate delegates and technology providers alike. Recent research has shown that DevOps dramatically reduces development time, the amount of enterprise IT professionals put out fires, and support time generally. Time spent on infrastructure development is significantly increased, and DevOps practitioners report more software releases and higher quality. Sponsors of DevOps at Cloud Expo will benefit from unmatched branding, profile building and lead generation opportunities through:

  • Featured on-site presentation and ongoing on-demand webcast exposure to a captive audience of industry decision-makers.
  • Showcase exhibition during our new extended dedicated expo hours
  • Breakout Session Priority scheduling for Sponsors that have been guaranteed a 35 minute technical session
  • Online advertising in SYS-CON's i-Technology Publications
  • Capitalize on our Comprehensive Marketing efforts leading up to the show with print mailings, e-newsletters and extensive online media coverage.
  • Unprecedented PR Coverage: Editorial Coverage on DevOps Journal
  • Tweetup to over 75,000 plus followers
  • Press releases sent on major wire services to over 500 industry analysts.

For more information on sponsorship, exhibit, and keynote opportunities, contact Carmen Gonzalez by email at events (at) sys-con.com, or by phone 201 802-3021.

Most Popular Video: Sheng Liang's Containers Talk

@DevOpsSummit at Cloud Expo taking place October 31 - November 2, 2017, Santa Clara Convention Center, CA, and is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world.

@DevOpsSummit 2017 Silicon Valley
(October 31 - November 2, 2017, Santa Clara Convention Center, CA)

@DevOpsSummit 2018 New York 
(June 12-14, 2018, Javits Center, Manhattan)

With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo, October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.

Track 1. Enterprise Cloud | Cloud-Native
Track 2.
Big Data | Analytics
Track 3. Internet of Things | IIoT | Smart Cities

Track 4. DevOps | Digital Transformation (DX)

Track 5. APIs | Cloud Security | Mobility

Track 6.
AI | ML | DL | Cognitive
Track 7.
Containers | Microservices | Serverless
Track 8. FinTech | InsurTech | Token Economy

Speaking Opportunities

The upcoming 21st International @CloudExpo@ThingsExpo, October 31 - November 2, 2017, Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY announces that its Call For Papers for speaking opportunities is open. Themes and topics to be discussed include:

  • Agile
  • API management
  • APM
  • Application delivery
  • Cloud development
  • Configuration automation
  • Containers
  • Continuous delivery
  • Continuous integration
  • Continuous testing
  • DevOps anti-patterns
  • DevOps for legacy systems
  • DevOps skills and training
  • DevOps system architecture
  • Docker
  • Enterprise DevOps
  • Identity and access
  • IT orchestration
  • Kubernetes
  • Load testing
  • Microservices
  • Mobile DevOps
  • Monitoring
  • Network automation
  • Quality assurance
  • Release automation
  • Serverless
  • Scrum
  • Service virtualization
  • Teaming
  • Test automation
  • WebOps, CloudOps, ChatOps, NoOps

Submit your speaking proposal today! ▸ Here

Cloud Expo | @ThingsExpo 2017 Silicon Valley
(October 31 - November 2, 2017, Santa Clara Convention Center, CA)

Cloud Expo | @ThingsExpo 2018 New York 
(June 12-14, 2018, Javits Center, Manhattan)

Download Show Prospectus ▸ Here

Every Global 2000 enterprise in the world is now integrating cloud computing in some form into its IT development and operations. Midsize and small businesses are also migrating to the cloud in increasing numbers.  

Companies are each developing their unique mix of cloud technologies and services, forming multi-cloud and hybrid cloud architectures and deployments across all major industries. Cloud-driven thinking has become the norm in financial services, manufacturing, telco, healthcare, transportation, energy, media, entertainment, retail and other consumer industries, and the public sector.

Cloud Expo is the single show where technology buyers and vendors can meet to experience and discus cloud computing and all that it entails. Sponsors of Cloud Expo will benefit from unmatched branding, profile building and lead generation opportunities through:

  • Featured on-site presentation and ongoing on-demand webcast exposure to a captive audience of industry decision-makers.
  • Showcase exhibition during our new extended dedicated expo hours
  • Breakout Session Priority scheduling for Sponsors that have been guaranteed a 35-minute technical session
  • Online advertising in SYS-CON's i-Technology Publications
  • Capitalize on our Comprehensive Marketing efforts leading up to the show with print mailings, e-newsletters and extensive online media coverage.
  • Unprecedented PR Coverage: Editorial Coverage on Cloud Computing Journal.
  • Tweetup to over 75,000 plus followers
  • Press releases sent on major wire services to over 500 industry analysts.

For more information on sponsorship, exhibit, and keynote opportunities, contact Carmen Gonzalez by email at events (at) sys-con.com, or by phone 201 802-3021.

The World's Largest "Cloud Digital Transformation" Event

@CloudExpo | @ThingsExpo 2017 Silicon Valley
(Oct. 31 - Nov. 2, 2017, Santa Clara Convention Center, CA)

@CloudExpo | @ThingsExpo 2018 New York 
(June 12-14, 2018, Javits Center, Manhattan)

Full Conference Registration Gold Pass and Exhibit Hall ▸ Here

Register For @CloudExpo ▸ Here via EventBrite

Register For @ThingsExpo ▸ Here via EventBrite

Register For @DevOpsSummit ▸ Here via EventBrite

Sponsorship Opportunities

Sponsors of Cloud Expo | @ThingsExpo will benefit from unmatched branding, profile building and lead generation opportunities through:

  • Featured on-site presentation and ongoing on-demand webcast exposure to a captive audience of industry decision-makers
  • Showcase exhibition during our new extended dedicated expo hours
  • Breakout Session Priority scheduling for Sponsors that have been guaranteed a 35 minute technical session
  • Online targeted advertising in SYS-CON's i-Technology Publications
  • Capitalize on our Comprehensive Marketing efforts leading up to the show with print mailings, e-newsletters and extensive online media coverage
  • Unprecedented Marketing Coverage: Editorial Coverage on ITweetup to over 100,000 plus followers, press releases sent on major wire services to over 500 industry analysts

For more information on sponsorship, exhibit, and keynote opportunities, contact Carmen Gonzalez (@GonzalezCarmen) today by email at events (at) sys-con.com, or by phone 201 802-3021.

Secrets of Sponsors and Exhibitors ▸ Here
Secrets of Cloud Expo Speakers ▸ Here

All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades.

With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend @CloudExpo@ThingsExpo, October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-4, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.

Delegates to Cloud Expo | @ThingsExpo will be able to attend 8 simultaneous, information-packed education tracks.

There are over 120 breakout sessions in all, with Keynotes, General Sessions, and Power Panels adding to three days of incredibly rich presentations and content.

Join Cloud Expo | @ThingsExpo conference chair Roger Strukhoff (@IoT2040), October 31 - November 2, 2017, Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, for three days of intense Enterprise Cloud and 'Digital Transformation' discussion and focus, including Big Data's indispensable role in IoT, Smart Grids and (IIoT) Industrial Internet of Things, Wearables and Consumer IoT, as well as (new) Digital Transformation in Vertical Markets.

Financial Technology - or FinTech - Is Now Part of the @CloudExpo Program!

Accordingly, attendees at the upcoming 21st Cloud Expo | @ThingsExpo October 31 - November 2, 2017, Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, will find fresh new content in a new track called FinTech, which will incorporate machine learning, artificial intelligence, deep learning, and blockchain into one track.

Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expensive intermediate processes from their businesses.

FinTech brings efficiency as well as the ability to deliver new services and a much improved customer experience throughout the global financial services industry. FinTech is a natural fit with cloud computing, as new services are quickly developed, deployed, and scaled on public, private, and hybrid clouds.

More than US$20 billion in venture capital is being invested in FinTech this year. @CloudExpo is pleased to bring you the latest FinTech developments as an integral part of our program, starting at the 21st International Cloud Expo October 31 - November 2, 2017 in Silicon Valley, and June 12-14, 2018, in New York City.

@CloudExpo is accepting submissions for this new track, so please visit www.CloudComputingExpo.com for the latest information.

About SYS-CON Media & Events

SYS-CON Media (www.sys-con.com) has since 1994 been connecting technology companies and customers through a comprehensive content stream - featuring over forty focused subject areas, from Cloud Computing to Web Security - interwoven with market-leading full-scale conferences produced by SYS-CON Events. The company's internationally recognized brands include among others Cloud Expo® (@CloudExpo), Big Data Expo® (@BigDataExpo), DevOps Summit (@DevOpsSummit), @ThingsExpo® (@ThingsExpo), Containers Expo (@ContainersExpo) and Microservices Expo (@MicroservicesE).

Cloud Expo®, Big Data Expo® and @ThingsExpo® are registered trademarks of Cloud Expo, Inc., a SYS-CON Events company.

More Stories By Mehdi Daoudi

Catchpoint radically transforms the way businesses manage, monitor, and test the performance of online applications. Truly understand and improve user experience with clear visibility into complex, distributed online systems.

Founded in 2008 by four DoubleClick / Google executives with a passion for speed, reliability and overall better online experiences, Catchpoint has now become the most innovative provider of web performance testing and monitoring solutions. We are a team with expertise in designing, building, operating, scaling and monitoring highly transactional Internet services used by thousands of companies and impacting the experience of millions of users. Catchpoint is funded by top-tier venture capital firm, Battery Ventures, which has invested in category leaders such as Akamai, Omniture (Adobe Systems), Optimizely, Tealium, BazaarVoice, Marketo and many more.