Category Archives: Web Technology

Understanding Disk I/O – when should you be worried?

Monitoring and analyzing performance is an important task for any System Administrators. Disk I/O bottlenecks can bring applications to a crawl. Some of the common questions for anyone embarking on a disk I/O analysis What are IOPS? Should I use SATA, SAS, or SSD? What RAID level should I use? Is my system read or write-heavy?   Disclaimer: I do not consider myself an expert in storage or anything for that matter. This is just how I have done I/O analysis in the past. I welcome additions and corrections   What are IOPS? They are input-output (I/O)... Read More

Understanding Linux CPU Load – when should you be worried?

Understanding Linux CPU Load - when one should be worried? All must be familiar with Linux load averages. Load averages are the three numbers shown with the uptime and top commands - it looks like this: load average: 0.09, 0.05, 0.01 Most administrators have a notion of what the load averages mean are the three numbers represent averages over progressively longer periods of time (one, five, and fifteen-minute averages), and that lower numbers are better. Higher numbers represent a problem or an overloaded machine. But, what's the threshold? What constitutes "good" and "bad"... Read More

Centralizing logs at Naukri.com with Kafka and ELK stack

Logs are important part of any system as they give deep insight into what is happening with the system. They also helps in figuring out what went wrong when something unexpected happens.  Most applications generates logs in one form or the other and they are generally written into files on the local disk. A web application consists of various components and each of them generates logs. Few of them are mentioned below. Access logs from web servers like Nginx, Apache Logs from back end applications (Java, PHP, python etc.) Logs from Database, Cache system, Queues etc. System... Read More

Managing Relations with Elasticsearch

1. Introduction Elasticsearch is a search engine. It provides a distributed full-text search engine over schema-free JSON documents. As we all know Elasticsearch is a great product to index and search through a large number of documents. It supports various functionality like term and range queries, full-text search and aggregations on large data sets that are very fast and powerful. It is built over Lucene which is a high-performance, full-featured text search engine library written in Java. When we are indexing data, the world is rarely simple as an independent data existing in... Read More

Symfony Vs Phalcon: Which framework to use for building REST APIS?

There are a number of frameworks and micro-frameworks available in PHP for building REST APIS each with its pros and cons. While some provide more performance benefits some are rich in community interaction and 3rd party bundles. We had quite an expertize in symfony and its related components, so we decided to go for a comparison of symfony with the fastest PHP framework available i.e, phalcon. No doubt phalcon is faster but we wanted to know how much performance gain is achieved via phalcon so that we can let go of  symfony which provides many bundles easing our development and reducing our... Read More

How we use docker @ naukri:

What we will be focussing on: Creating tag of application and deploying on kubernetes. Creating an immutable image Naukri Deployer and Endpoints Creating a tag of Application: Whenever we push to git repository, a jenkins job is triggered and runs UT(Unit Test Cases)  on that branch (or tag). If UTs are passed create a tag and run next jenkins job to create immutable image. This new immutable image can be deployed on kubernetes and subsequently QA team can run their FT(Functional Test Cases) on that tag. To know what is an immutable image, refer::... Read More

Tip-toe through Naukri, India’s No.1 job site #OneDayTale

Glipmse of Hackathon 2016. We love open source and hence we are very open to transparency. The inception to this blog post was an idea to share the walk through of how a user is served in a typical day by your beloved Naukri.com. Naukri is a black box which gives you results but under the hood it is way more than what anyone can think. Under the hood [caption id="" align="alignnone" width="800"] Under the hood working of a car, GIF image.[/caption] Source Something like below is what we are continuously doing to serve you better. [caption id="" align="alignnone" width="549"] Car engine... Read More

Spamming is easy, filtering is tough

“Spamming is easy, filtering is tough” We sent 250 million emails through Resdex last month, and that’s way cool ! Maintaining that traffic with good user experience is really a tough task. But Resdex gives it desired attention to make sure the emails sent are relevant. What is Resdex ? Resdex is one of the most commonly used product by recruiters in the country to search desired candidates. Resdex provides various options to ensure the hiring is more targeted and less time consuming. Resdex is Naukri.com’s Resume Database Access. Naukri.com has a large database of over... Read More

Search Upgrade: How we went through changing search architecture along with elasticsearch version upgrade from 1.x to 2.x

Technology upgrade rollouts are too frequent these days, so are the requirements and expectations from a product. We need to keep up with this pace to take advantage of the changes and enhancement in technology and also able to fulfill the needs and expectations of a user. For this the product should be robust and architecture should be scalable to meet the growing demands from a product. So we took a step to upgrade elasticsearch from v1.x to 2.x. Let's start with a small brief on why we decided to go for upgrade and architectural changes. Why we need to do this? To take advantage of... Read More

Sending Mails Through SMTP Servers ( Gmail/Yahoo/Outlook )

Every website or web application needs to send transactional emails at one time or another. A user may request a password reset that sends them an email, or you may need to notify a user through email. So it is necessary to use the right tool when you don’t want to handle everything by yourself. So Let’s discuss what are the options we have got here. Whatever language you are working with you do need a mail server. So you can 1.Host your own mail server It is as complicated as it sounds. There are so many components to handle like Mail transfer agent DNS records Security... Read More