Web Service: How to make them maximally performant?

Posted on 2017-08-30
Medium Priority
Last Modified: 2017-09-02
What technologies are best suited for the highest performance web services to handle the heaviest loads? Thousands (even millions) of transactions per second?

I know that Node.js can handle thousand(s) sessions on a single thread. And I do not know of any other technology which handle more than one session per thread. Am I right about that? Are there others that can do this also?

What about real-time programming as it relates to web-services. Is there such a thing?

And how about a few general words about hardware deployment? Having a central API call which distributes calls to hundreds of more specialized web servers? What about Caching for successive related calls?

And what about Machine Learning? Can algorithms be optimized by existing Machine Learning algorithms that reduce the average response times of the most heavily load web service?

Question by:newbieweb
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 84

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 1000 total points
ID: 42275990
I think you're being mislead.  Read up on Facebook and Google and Amazon technologies and what they do to make things run fast.  Of course, they do hire thousands of engineers to make things work.  And they deploy hardware and technologies which are far beyond your budget.  But they're the ones that know.  I doubt that you will find node.js anywhere on their servers.

Author Comment

ID: 42276061
What underlying platforms do they use?
LVL 84

Accepted Solution

Dave Baldwin earned 1000 total points
ID: 42276104
They write their own operating systems and web servers.  And of course, they have massive data centers.  While Facebook uses PHP, they translate it to C++ and compile to make it run much faster.  And they all use a lot of javascript in their pages, especially a lot of AJAX to load and update content.
When ransomware hits your clients, what do you do?

MSPs: Endpoint security isn’t enough to prevent ransomware.
As the impact and severity of crypto ransomware attacks has grown, Webroot has fought back, not just by building a next-gen endpoint solution capable of preventing ransomware attacks but also by being a thought leader.


Author Comment

ID: 42276142
Mine will not require UI. I need maximally performant web services that can handle a huge load.

Would this mean C++ back-end?

I image you could take an open sourced OS and strip out all functionality not needed, and then have a much smaller kernel.
LVL 32

Assisted Solution

phoffric earned 1000 total points
ID: 42276161
>> Would this mean C++ back-end?

One way FB achieves high performance is by adjusting data layouts to maximize cache hits and continuous good pre-fetching.
Andrei Alexandrescu, a leader a FB, made FB very fast with just that idea. But here is more from Andrei Alexandrescu.
LVL 84

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 1000 total points
ID: 42276497
Note also that those services also have the highest speed connections available.  Thru the largest data centers in the world.  Web service implies by default web servers.  And web servers run on operating systems.  I'm afraid you are not going to just sit down and write your own in any reasonable amount of time.

Have you written anything yet?  Prototype what you want to do on available services and see how it works.  What kind of data are you going to provide with your web service?  UI has nothing to do with the servers, only the type of data and users that you would have.

Author Closing Comment

ID: 42279772

Featured Post

Put Machine Learning to Work--Protect Your Clients

Machine learning means Smarter Cybersecurity™ Solutions.
As technology continues to advance, managing and analyzing massive data sets just can’t be accomplished by humans alone. It requires huge amounts of memory and storage, as well as high-speed processing of the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This question got me thinking... (http://www.experts-exchange.com/questions/28707487/GLOBALS.html) Why shouldn't we use Globals? This is a simple question without a simple answer.  How do you explain these concepts to a programmer w…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question