Showing posts with label Website Optimization. Show all posts
Showing posts with label Website Optimization. Show all posts

Saturday, December 7, 2019

Quick 5 Point Website Inspection for Peak Holiday Traffic

The holiday season is around the corner and with the code freezes, teams fear to risk any major changes to production to hamper the critical business time of the year.
Below are quick 5 pointer non-code checks that can help prepare and enhance the website holiday traffic and sales.

1) Examine the Infrastructure Sizing

If on-premise servers are running critical applications, recalculate the approximate capacity or how much traffic these applications can hold up.
This is based on different data points and includes the number of requests per second, average application server response times, instances and their details of CPU, cores, threads, sockets, etc. All the required information typically can be gathered from the analytics or monitoring tools.

Calculating the number of Cores?

For doing this all that is needed is to load the CPU information (lscpu) and view the information related to Threads per socket, Cores per socket and several Sockets.

Calculate the maximum load or throughput of the system?

The next step is to calculate the number of average requests to the application servers. This can again be calculated by viewing the data of the monitoring tool. The information needs to be fetched for the most peak traffic or expected peak traffic for an application or website.

Calculate the Average response times?

The next value that needs to be calculated is the average response times from the application server. This information also is available using any monitoring tool or can also be calculated by using the expected average value in seconds.
Now with the required information in place, the number of cores can be calculated using the formulae
Number of cores = Requests per second * average response time in seconds

2) Tweak the Enterprise Search Relevancy

Several Research articles show that Browse and Search pages are the most visited pages as well as the pages where most customers are lost. Several websites spend a lot of money and time on external Search engine optimization and one of the key features that are overlooked is the Relevancy Ranking of products on the website browse and search.
Below are some tips that can help boost the relevant products to the top and bury the least preferred products on the site.

Prioritization of Attributes

Attributes precedence is key for relevancy. There needs to be a clear definition of the data associated with these attributes. Special considerations have to be taken for data like Category Name, Product Name, Descriptions and other keywords, as these attributes form the basis of the Search Engine Index. Custom attributes can be created as required and added to the prioritization list.

Monitoring Search Results

Use analytics to monitor user behavior on the search and browse results. Information like most clicked products and categories, most popular searches for a product and category, error results, zero product search, the search result with auto spell correction, page behavior, etc indicates clearly how relevant results are shown to the user. These data form the basis of boosting the required results and ignoring irrelevant results.

Enterprise Search Engines

The setting of core search functionalities like Synonyms, Thesaurus, Stemming, Spell Corrections, Did you mean? play a vital role in displaying the relevant results. For sites having multiple locales update custom stemming files with the top key search words. Also, it’s very essential to keep building the dictionary as and when new data sets are added.

3) Keep a Close Vigil on the Browser Load times

Page load times matter a lot during the peak traffic time. While application health is one aspect of evaluation, the end customer load times also need to be closely monitored.
Below are a few of the areas that need to be evaluated so that the browser load times are not hampered.

Evaluate the Caching TTL

Retrieving static content over the public network is not cheap. Larger the file size larger is the bandwidth and higher cost and lower response times. Caching of static content in the browser plays a critical role in reducing those server calls resulting in faster performance and quick page loads.
Ensure HTTP cache is enabled which enables servers to direct the browser cache to serve the content for a longer duration.
If CDN is used, reevaluate the TTL for those static contents especially the images.

Avoid those Content Publishes

Every content push to the live site requires clearing of caches. Try avoiding the risks of these content pushes during the peak times and if required ensure that only the specific content cache is cleared.

Avoid those External Scripts Calls

All the third-party integrations that the website refers to especially from the browsers have to be looked at. During peak traffic hours every external script is extremely vulnerable and can bring down the browser load times and in some unfortunate cases, the website as well.

4) Tune Database Performance

Evaluate the Relational database performance to prevent those long-running queries. Below are a few of the basic tips that can help optimize the database in a quick time.

Evaluate the Database Statistics

One of the critical aspects of tuning the database is collecting and understanding the statistics. While the monitoring tools give certain information on the most time-consuming queries, the statistics collected from the database server can give detailed information about specific tables, the index distribution, details related to database sizing, etc.

Optimize Indexes

It is vital to have the right insight of indexes on tables. This is the most common issue found when dealing with RDBMS. It’s very essential to understand the fine gap between no indexes and too many indexes, Indexing strategies for inserting, reading and updating data.
Most of the modern databases give information regarding columns that are required to be indexed, their priority order, missing or incorrect indexes, etc and also provide required suggestions on improving them.

5) Network Optimization

Retrieving website over enterprise network is underestimated. Responses within the internal organization network require many round trips between the enterprise internet gateway, firewalls, load balancers, security gateways and those web and application servers placed in different data centers. Below are some suggestions that can help optimize the internal network.
Try to remove those additional firewall rules which can gain few milliseconds for every request.
Try to keep the internal network free from any excessive internal traffic.
Identify those infrastructures with a single point of failure and monitor them closely.
Look out for those Bots and Hostile IP addresses that are clogging the network bandwidth.

Wednesday, July 31, 2019

Approach on what pages to move first in a microservices journey

Every microservices journey is different for different organizations based on their core competency. However, few of the basic elements of where to start and where to end are more or less similar. Came across this below diagram on multiple websites which illustrates the typical migration model. Read only pages or static pages with content are much more easier to move to newer platforms especially on cloud services like SaaS than core business components.  

Monday, July 1, 2019

Getting website content relevance right

If you have come across a search results page where the top results are irrelevant to the search term entered the majority of the time, it's due to the incorrect setup of Relevancy ranking. Relevancy Ranking of products on Search and Browse pages is the critical search feature that easily gets ignored on several retail sites. 


Most of the modern enterprise search engines provide an easier way of handling relevance using business tools. However, understanding the algorithm and the fitment behind these results is not simple. Online businesses generally have a standard retail strategy applied for relevance, but this may not be applicable for every domain. As complexity increases with data corresponding to multiple sources, locales, and applications, the Relevancy Ranking requires some fine-tuning. 


Below are some of the measures that need to be factored into to improve Website Product Relevancy Ranking:- 


Monitoring Search Results

Use analytics to monitor user behavior on the search and browse results. Information like most clicked products, most popular searches, error results, spell correction, and page behavior gives an indication of how relevant results are shown to the user. These data form the basis of boosting required results and ignoring irrelevant results. 


Interpreting the data

As the online business grows many online retailers fail to understand the importance of data updates. With the creation of huge product-specific properties, understanding the attributes associated with the right data helps to display relevant products in the right order. Applications need to have the real-time capability to refresh this data timely and getting it to end-users in the shortest time possible.


Prioritization of Attributes

Attributes precedence is key for relevancy. There needs to be a clear definition of the data associated with these attributes. Special considerations have to be taken for data like Category Name, Product Name, Descriptions, and other keywords, as these attributes form the basis of the Search Engine Index. Custom attributes can be created as required and added to the prioritization list.


Relevancy Ranking Algorithm

Teams that are responsible for creating Product data have to be well versed with the relevancy ranking modules and their impact on the end online user. Each ranking module is executed during the relevancy ranking process and ranks the results. Teams need to ensure that at the end of every execution if there is a tie-break, appropriate results need to be segregated and ranked as per precedence. 


Enterprise Search Engines

The setting of core search functionalities like Synonyms, Thesaurus, Stemming, Spell Corrections, Did you mean, Most Popular, etc play a vital role in displaying the relevant results. For sites having multiple locales custom stemming files have to be maintained. Also, it's very essential to keep building the dictionary as and when new data sets are added. Many modern search engines provide all the above features Out of the box as an administration tool. 

Building Microservices by decreasing Entropy and increasing Negentropy - Series Part 5

Microservice’s journey is all about gradually overhaul, every time you make a change you need to keep the system in a better state or the ...