Monday, September 8, 2014

The reasons I stopped using libuv for H2O

Libuv is a great cross-platform library that abstracts various types of I/O by using callbacks.

So when I started writing H2O - a high-performance HTTP server / library implementation with support for HTTP1, HTTP2 and websocket, using libuv seemed like a good idea. But recently, I have stopped using it for sereval reasons. This blog post explains them.

■No Support for TLS

Although libuv provides an unified interface for various types of streams, it does not provide access to a TLS stream though the interface, nor does provide a way for application developers to implement their own types of streams.

The fact has been a disappointment to me. Initially I had created a tiny library called uvwslay that binds libuv streams to wslay - a websocket protocol implementation. But since libuv does not provide support for TLS, it was impossible to support SSL within the tiny library.

To support wss protocol (i.e. websocket over TLS) I needed to reimplement the websocket binding, to stop using libuv as its stream abstraction layer and switch to an abstraction layer defined atop of libuv that abstracts the differences between libuv streams and the I/O API provided by the SSL library being used (in my case it is OpenSSL).

It would be great if libuv could provide direct support for TLS in future (or provide a way to implement their own type of libuv streams), so that code directly calling the libuv API can support various types of streams.

■Memory Usage is not Optimal

Libuv provides a callback-based API for writes and I love the idea. It simplifies the complicatedness of implementing non-blocking I/O operations. However the problem of libuv is that it does not call the completion callback right after write succeeds. Instead, it is only until all I/Os are performed that the callbacks are called. This means that if you have 1,000 connections sending 64KB of data, your code first allocates 64KB of memory 1000 times (64MB in total) and then call free for all of those memory chunks, even when the network operation does not block. IMO, libuv should better call the completion callback immediately after the application returns the control back to the library after calling uv_write, so that the memory allocation pattern could be a repetition of malloc-and-then-free for 1000 times.

■No Support for Delayed Tasks

Libuv does not provide an interface to schedule actions to be run just before the I/O polling method is being called.

Such interface is necessary if you need to aggregate I/O operations and send the results to a single client. In case of HTTP2, a certain number of HTTP requests need to be multiplexed over a single TCP (or TLS) connection.

With lack of support for delayed tasks, you would need to use uv_timer with 0 second timeout to implement delayed tasks.

This works fine if the intention of the application developer is to aggregate read operations, but does not if the intension was to aggregate the result of write operations, since in libuv the write completion callbacks are called after the timers are called.

■Synchronous File I/O is Slow

Synchronous file I/O seems to be slow when compared to directly calling the POSIX API directly.

■Network I/O has Some Overhead

After I found out the issues mentioned above, I started to wonder how much overhead libuv imposes for network I/O.

So I stripped the parts that depended on libuv off from the stream abstraction layer of H2O (that hides the difference between TCP and TLS as described above) and replaced it with direct calls to POSIX APIs and various polling methods (i.e. select, epoll, queue).

The chart below shows the benchmark results taken on my development environment running Ubuntu 14.04 on VMware. H2O become 14% to 29% faster by not depending on libuv.


■The Decision

Considering these facts altogether, I have decided to stop using libuv in H2O, and use the direct binding that I have written and used for the benchmark, at least until the performance penalty vanishes and the TLS support gets integrated.

OTOH I will continue to use libuv for other projects I have as well as recommending it to others, since I still think that it does an excellent job in hiding the messy details of platform-specific asynchronous APIs with adequate performance.

PS. Please do not blame me for not trying to feedback the issues as pull requests to libuv. I might do so in the future, but such task is too heavy for me right now. I am writing this post in the hope that it would help people (including myself) understand more about libuv, and as an answer to @saghul.

319 comments:

  1. Thanks for the detailed analysis. But according to https://github.com/h2o/h2o.git , it seems that h2o is still using libuv, doesn't it? Has libuv fixed the issues you mentioned here, or you are still in the progress to remove it?

    Thanks again!

    ReplyDelete
  2. But the libuv supports TLS:
    http://docs.libuv.org/en/v1.x/threading.html#thread-local-storage

    ReplyDelete
  3. What lib are you using or is yours?
    If yours, can it be used as socket lib - for example for RPC?

    ReplyDelete
  4. What alternative do you find to libuv? I am also developing TCP/SSL server that should be handling hundreds of clients. Preferable language are c/c++. Which library can you recommend in order to handle such scenarios? Thanks.

    ReplyDelete
  5. Responsive desing can yield a very good revenue to a business. It has been discovered since the usage of multiple devices increase. The content furnished above too tells the same. Thanks for sharing this information in here. Please keep bloging content like this.

    Web designing course in chennai | Web design training in chennai | PHP Training in Chennai

    ReplyDelete
  6. Nice post you have done here. I am really very happy to read this. This is a very informative topic that you are chosen. keep it up Nimble Messaging Servicing

    ReplyDelete
  7. We are offering website design, Application and other much more.....

    Buzz Application

    ReplyDelete
  8. All the best blogs that is very useful for keeping me share the ideas
    of the future as well this is really what I was looking for, and I am
    very happy to come here. Thank you very much
    earn to die play
    earn to die
    earn to die 3
    Hi! I’ve been reading your blog for a while now and finally got the
    earn to die 4
    courage to go ahead and give youu a shout out from
    earn to die 6
    Austin Texas! Just wanted to tell
    earn to die 5
    you keep up the fantastic work!my weblog
    age of war
    Hi! I’ve been reading your blog for a while now and finally got the
    happy wheels
    tank trouble 3
    slither io
    slitherio
    good game empire

    ReplyDelete
  9. To keep ourselves up to date with the current trend is not an easy task in IT. But we can, through quality and worth able content like this. Thanks for sharing this web page. Please write more articles like this in future.
    PHP training in Chennai | PHP course in Chennai

    ReplyDelete
  10. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it. The angular js programming language is very popular which are most widely used.
    AngularJS Training in Chennai | Angularjs training Chennai

    ReplyDelete
  11. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    Ethical hacking Course in Chennai | Ethical hacking Training in Chennai

    ReplyDelete
  12. Wonderful post. happy to visit your blog. Thanks for sharing.

    php training institute in chennai

    ReplyDelete
  13. Thanks for this great post, i find it very interesting and very well thought out and put together. I look forward to reading your work in the future
    شركة نقل اثاث بالخبر
    ارخص شركة نقل اثاث بالدمام
    شركة نقل الاثاث بالدمام
    شركة نقل عفش بالدمام
    شركات نقل العفش والاثاث بالدمام والخبر على وجه الخصوص تعددت كثيرا ولكن القليل من شركات نقل الاثاث داخل الدمام والخبر ما زال يقدم الخدمة المنوط بها للعميل فنحن فى شركة نقل اثاث بالدمام وبالخبر افضل شركات نقل اثاث بالدمام والخبر والقطيف والجبيل على مستوي المملكه العربية السعودية وخاصة منها المنطقة الشرقية ونحن ارخص شركة نقل اثاث بالدمام وبالخبر

    ReplyDelete
  14. This is the right blog for anyone who wants to find out about this topic. You realize so much its almost hard to argue with you (not that I actually would want…HaHa). You definitely put a new spin on a topic thats been written about for years.
    شركة نقل اثاث بالقطيف
    شركة نقل اثاث بالدمام
    شركة نقل اثاث بالدمام
    شركة نقل عفش بالدمام
    شركة نقل اثاث بالجبيل
    شركة نقل العفش بالخبر

    ReplyDelete
  15. Hey – great blog, just looking around some blogs, seems a really nice platform you are using. I’m currently using WordPress for a few of my blogs but looking to change one of them over to a platform similar to yours as a trial run. Anything in particular you would recommend about it?
    ارخص شركة نقل اثاث بالدمام
    شركة نقل عفش بالدمام
    شركة نقل اثاث بالخبر
    شركة نقل اثاث بالدمام
    وفر شركة شامكو –0593757728 – ارخص شركة نقل اثاث بالجبيل وكذلك نقل عفش بالخبر ونقل اثاث بالدمام والقطيف العمالة المدربة على فك وتركيب العفش والاثاث بكل احترافية دون أي اخطاء لضمان عدم اتلاف أي قطعة اثاث او الحاق الضرر بها, بالإضافة الى توفير العمالة الخاصة بعملية نقل العفش والاثاث

    ReplyDelete
  16. I really appreciate the kind of topics you post here. Thanks for sharing us a great information that is actually helpful
    Its my great pleasure to visit your blog and to enjoy your great posts here. I like it a lot. I can feel that you paid much attention for those articles, as all of them make sense and are very useful
    شركة مكافحة الحشرات بالقطيف
    شركة مكافحة النمل الابيض بالقطيف
    شركة مكافحة الحشرات بالدمام
    شركة مكافحة الحشرات بالخبر
    شركة مكافحة البق بالقطيف

    ReplyDelete
  17. شركة مكافحة البق بالدمام
    شركة مكافحة النمل الابيض بالدمام
    شركة مكافحة النمل الابيض بالخبر
    هتم شركة مكافحة الحشرات بالدمام باعمال المكافحة للصراصير بالدمام فالصراصير من اكثر انواع الحشرات التى تسبب الضيق والالم وتسبب الشعور بالاشمئزاز والقرف فى المكان فاذا كنت تعانى من وجود الصراصير وتعانى من وجودها وانتشارها فى اى مكان فى منزلك وبالاخص فى المطابخ والصراصير الصغيره المتواجدة فى المكان
    فعليك ان تعلم ان شركة مكافحة الحشرات بالدمام  هى افضل الشركات التى تقوم باعمال المكافحة والقضاء على الصراصير تماما من خلال احدث الاجهزة والمبيدات والايدى العامله المميزه التى تساعد فى اعمال المكافحة والرش للصراصير فشركة مكافحة حشرات بالدمام هى الحل الامثل فى لقضاء على الصراصير

    ReplyDelete
  18. Idaho: Despite the fact that this Tar High heel sandals lost inside the ACC contest semifinals, on the list of Duke relating to the ropes for high of the first half. Justin Jackson, with produced your experienced circumference sport, and then a foul-free Fran Berry II include the recommendations.
    March Madness

    March Madness Live

    March Madness Live Stream

    March Madness 2017

    Without a doubt, we all know Amount Number of hasn't constructed one final 3. That organization, stocked with proficient scorers that can as well lck straight down competitors, can be your partner's primary
    March Madness 2017 Live

    ncaa March Madness

    ncaa march madness live

    ncaa tournament

    March Madness Bracket

    ncaa final four

    Irrespective of whether you’re nonetheless over the containment system about that 8-9 gameplay, and are trying to find a total impression on your Finalized Several randomly chooses, we’ve got everyone included using a standing of all 68 matchups inside competition. You can now confidently get your choice upon those mid-major darlings you’ve recently been eyeing with regard to disappointed probable.
    March Madness

    March Madness Live

    March Madness Live Stream

    March Madness 2017

    March Madness 2017 Live

    ncaa March Madness

    ncaa march madness live

    ncaa tournament

    March Madness Bracket

    ncaa final four

    Villanova: The very best all around seedling. Quick grown timbers . team’s location inside most ruthless region (the Far east, using matchups next to Duke together with SMU looming), Villanova’s three-man a particular problem key associated with Jalen Brunson, Josh Hart along with Kris Jenkins offers the potential to repeat like domestic champs.

    ReplyDelete
  19. A week after Chavez vs Canelo went toe-to-toe in an instant classic, boxing fans get another star-studded fight when Saul “Canelo” Alvarez (48-1-1, 34 KOs) and Julio Cesar Chavez Jr. (50-2-1, 32 KOs) meet at the T-Mobile Arena in Las Vegas.
    Canelo vs Chavez Jr Live

    Chavez Jr vs Canelo Live

    Chavez Jr vs Canelo

    Canelo vs Chavez Jr Live

    ReplyDelete

  20. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Android training in chennai

    ReplyDelete
  21. Are you looking for best website to download eBook torrents for free? Then EbookShare will be the right place. kovalanj

    ReplyDelete
  22. The excellent and very cool idea and the subject at the top of magnificence and I am happy to this post..Interesting post!It follows your previous guideline for post length as well as clarity.
    Software Testing Training in Chennai | Hadoop Training in Chennai

    ReplyDelete
  23. This comment has been removed by the author.

    ReplyDelete
  24. Thank you for taking the time to provide us with your valuable information.
    Freshers Jobs in Chennai

    ReplyDelete
  25. Great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...
    Android Training in Velachery
    ios Training in Velachery

    ReplyDelete
  26. how to screenshot on laptop hpof anything you can think of here the link to the recorder i used

    ReplyDelete
  27. Free version of Photoshop you get them in most of the torrents. Search it out in Google and most of the times Photoshop 7.0 free download is available for free. Other thin... ... powerful product decisions. Download at productanalyticsplaybook.com · More

    ReplyDelete
  28. The best free iphone apps in your iphone
    to speed up your workflow, help you make the right ... App of the Year, this new version for iPhone is a completely free ...

    ReplyDelete
  29. The SummerSlam 2017 is an upcoming professional wrestling pay-per-view (PPV) event and WWE Network event produced by WWE for the Raw and WWE SummerSlam brands. It will take place on August 20, 2017, at the Barclays Center in Brooklyn, New York. It will be the thirtieth event under the SummerSlam chronology.
    WWE SummerSlam 2017

    SummerSlam Live

    WWE SummerSlam Live

    Watch SummerSlam

    Watch WWE SummerSlam

    SummerSlam live Stream

    WWE SummerSlam Live Stream

    ReplyDelete
  30. The following list showcases our pick of the best free iphone apps iPhone apps, ... Most of these apps are also compatible with the iPod ... around reminder windows of up to .

    ReplyDelete
  31. Best free time tracking app for iphone. Yep, you found it! — The best free time tracking tool in the App Store. Toggl improves productivity by letting you know how ...https://www.4shared.com/u/OPl8EiM2/maceve.html

    ReplyDelete
  32. Shop mophie for iPhone 6s/6 battery cases including the new wireless charging cases for the iPhone 6! Free Shipping available on all U.S. orders. http://www.bestfreeiphoneapps.com/best-10-website-for-buy-iphone-6s-cases-in-2017/

    ReplyDelete
  33. Several companies sell laptops from ASUS, HP, Dell and Lenovo (and some ... Best Buy: Best Buy, believe it or not, sells a variety of Linux-equipped laptops.https://howtoscreenshotonlaptop.com/top-5-best-buy-review-hp-laptop-in-usa-2017/

    ReplyDelete
  34. Jul 10, 2008 - Some effects look best when applied to an entire photoshop cs3 for free, while other effects look best when used only in certain areas. By nature, the filter used ...

    ReplyDelete
  35. iPhone. Apps. Quick. Start. This ebook begins with a look at a few important shared iPhone OS features and then continues with sections that explore what I https://www.openstreetmap.org/user/evkhan1107

    ReplyDelete
  36. buy Rose gold iphone 7 plus Apple iPhone 7 Plus Online with exciting offers and best price.Features and specifications include GB RAM, 32 GB ROM, mAh Battery, 12 MP Back Camera

    ReplyDelete
  37. How to Install Photoshop 6 or 7 on Windows 7. If you've been trying to install your old copy of Photoshop on Windows 7, you may be banging your head against .https://www.youtube.com/watch?v=oU2V_Vw9uCg&t=7s..

    ReplyDelete
  38. Adobe Photoshop is a photo-editing and designing software that is mainly used for correcting image imperfections and for adding effects to .https://www.youtube.com/watch?v=Yz3KpDfOUEY..

    ReplyDelete
  39. Thanks for sharing informative article. Download Windows 7 ultimate for free from getintopc. It helps you to explore full functionality of windows operating system.

    ReplyDelete
  40. Instagram Use Photoshop Actions In CS6 work with Instagram, a social network that enables its users to take pictures and apply digital filters to them. (READ MORE)

    ReplyDelete
  41. How to use the Type Mask Tool in Photoshop ... tool and work with Layer Masks and the like to make stunning text effects. ... Our short and snappy videos are designed for users of Photoshop CC but don't worry if you haven't . Add Text In Photoshop CC

    ReplyDelete
  42. This feature works the same in Adobe Photoshop CS6 and CC versions. ... To create the 3D object, go to 3D > New Mesh from Layer > Mesh Preset and select ... To rotate the image around the 3D wireframe, go back to the 3D panel and click .Rotate Layer Photoshop Cs6

    ReplyDelete
  43. https://www.eventbrite.com/e/watchfreepackers-vs-lions-live-stream-football-toda-tickets-39607184154

    ReplyDelete
  44. Learned a lot of new things from your post! Good creation and HATS OFF to the creativity of your mind. Very interesting and useful blog!
    PHP Training in Chennai
    PHP Course in Chennai

    ReplyDelete
  45. Download adobe Photoshop 7.0 full version Lessons. Lesson 1, Elementary, Image size, resolution, and mode ... Lesson 7, Intermediate, Text. Lesson 8, Intermediate, Layer Style. Lesson 9 ...

    ReplyDelete
  46. This comment has been removed by the author.

    ReplyDelete
  47. It is no different from a multitude of Hollywood disaster movies (Independence Day, Annihilation watch online 2018 Deep Impact, Meteor) that sought to elicit a frisson of horror-pleasure at the imminent prospect of the end of humanity and 'our' way of life. There are countless movies that profitably exploit the thrill of imaginary annihilation in a return to zero.

    ReplyDelete
  48. Annihilation Cast Annihilation Full Movie Annihilation Trailer 2018. Annihilation Putlocker Annihilation Release Date Annihilation Movie (2018) Streaming Annihilation (2018) Full Movie Online Annihilation (2018) Full Movie Online Annihilation (2018) Hindi Film Free Watch Online Annihilation (2018) Hindi ...

    Annihilation watch full movie online

    ReplyDelete
  49. - Hollywood actress Natalie Portman claimed it was “problematic” that she was cast as a character described as being of Annihilation watch online 2018 “Asian heritage” in Paramount upcoming sci-fi adventure movie Annihilation. ... In the book, the Portman’s character is reportedly from “Asian heritage ...

    ReplyDelete
  50. Great Salesforce


    Thanks for sharing

    ReplyDelete
  51. I’ve bookmarked your site, and I’m adding your RSS feeds to my Google account.
    Best Python Training Institute in Bangalore

    ReplyDelete
  52. When you use lines from taken and it comes out as best tinder pick up
    tender pickup lines

    ReplyDelete
  53. https://derbykentuckyi.org

    https://kentuckyderbys.co

    https://kentuckyderbylives.com

    https://derby-kentucky.ca

    ReplyDelete
  54. I am commenting to let you know what a terrific experience my daughter enjoyed reading through your web page. She noticed a wide variety of pieces, with the inclusion of what it is like to have an awesome helping style to have the rest without hassle grasp some grueling matters. Digital Marketing Training in chennai

    ReplyDelete
  55. Thanks for sharing with us. Great Blog to read,Its gives more useful information.Thanks lot.

    Software Testing Training in Chennai | Selenium Training in Chennai

    ReplyDelete
  56. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    python training in Chennai


    ReplyDelete
  57. Decent data. Your blog is extremely useful. Great work!

    digital marketing

    ReplyDelete
  58. This is a heavenly article, Given such an extraordinary measure of information in it, These kind of articles keeps the customers eagerness for the site,

    source

    ReplyDelete
  59. In your article, focuses grabbed my eye the most is the manner by which your writing, to give me a profound impression. Wish you would compose more. good fortunes!

    samsung galaxy cases

    ReplyDelete
  60. Very interesting analysis about Libuv also its cons. thanks for sharing .
    selenium training in chennai

    ReplyDelete

  61. Hello. This post couldn’t be written any better! Reading this post reminds me of my previous roommate. He always kept chatting about this. I will forward this page to him.
    bigdata training in bangalore

    ReplyDelete
  62. thumbsup for the author who gives awesome content.

    Selenium Training in Chennai

    ReplyDelete
  63. Thanks for sharing information with clear explanation. This is really awesome to understand.

    Thanks,
    QTP Training in Chennai | QTP Course in Chennai

    ReplyDelete
  64. After I read and try to understand this article in conclusion amazingwe are generally grateful for the nearness of this article can incorporate impressively more learning for each one of us. thankful to you.


    Accountants Brighton

    ReplyDelete
  65. DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
    Are you seeing DevOps in your future? Perhaps you are already exploring where to start learning DevOps, choose myTectra the market leader in DevOps Training.

    ReplyDelete
  66. This comment has been removed by the author.

    ReplyDelete
  67. DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit

    Are you seeing DevOps in your future? Perhaps you are already exploring where to start learning DevOps, choose myTectra the market leader in Devops training.
    CHAPTER 2: UNDERSTAND COMMON INFRASTRUCTURE SERVERS
    CHAPTER 3: IMPLEMENT AUTOMATED INSTALLATIONS AND DEPLOYMENTS
    CHAPTER 4: UNDERSTAND PERFORMANCE TUNING ASPECTS AND BASIC SECURITY FOR INFRASTRUCTURE
    CHAPTER 5: INSTALLATION & CONFIGURATION OF JENKINS AND PUPPET
    CHAPTER 6: INTRODUCTION TO AUTOMATION WITH ANSIBLE AND SALTSTACK
    CHAPTER 7: AUTOMATION WITH CHEF
    CHAPTER 8: MONITORING, LOGGING, TOMCAT AND SYSTEM TOOLS

    ReplyDelete
  68. Your very own commitment to getting the message throughout came to be rather powerful and have consistently enabled employees just like me to arrive at their desired goals.
    Data Science Training in Chennai
    Data science training in bangalore
    Data science online training
    Data science training in pune
    Data science training in kalyan nagar

    ReplyDelete
  69. I found your blog while searching for the updates, I am happy to be here. Very useful content and also easily understandable providing.. Believe me I did wrote an post about tutorials for beginners with reference of your blog. 
    java training in annanagar | java training in chennai

    java training in marathahalli | java training in btm layout

    java training in rajaji nagar | java training in jayanagar

    java training in chennai

    ReplyDelete

  70. Great Article...Thanks for sharing the best information.It was so good to read and useful to improve my knowledge as updated one.

    Android Training
    Android Training in Chennai

    ReplyDelete
  71. well! Thanks for providing a good stuff related to DevOps Explination is good, nice Article
    anyone want to learn advance devops tools or devops online training
    DevOps Online Training
    DevOps Online Training hyderabad
    DevOps Training
    DevOps Training institute in Ameerpet

    ReplyDelete
  72. Fast forward to the conclusion of Jedrzejczyk's scrum along with a reporter reunite into asking her to get a forecast. When Jedrzejczyk revealed she was 50/50, the reporter subsequently altered to asking her about McGregor's behaviour.
    UFC 229 Free Streaming

    ReplyDelete
  73. Expected to form you a next to no word to thank you once more with respect to the decent recommendations you've contributed here.
    fire and safety course in chennai

    ReplyDelete
  74. Thanks for making this guide and you have given such a clear breakdown of technology updates. I've seen so many articles, but definitely, this has been the best I?ve read!
    Selenium Training in Chennai
    Selenium Training in Velachery
    Selenium Training in Tambaram
    Selenium Training in Porur
    Selenium Training in adyar
    Selenium Training in Ambattur

    ReplyDelete
  75. Hats off to your presence of mind. I really enjoyed reading your blog. I really appreciate your information which you shared with us.
    occupational health and safety course in chennai

    ReplyDelete
  76. It’s great to come across a blog every once in a while, that isn’t the same out of date rehashed material. Fantastic read.
    nebosh course in chennai

    ReplyDelete
  77. Thank you for sharing such great information with us. I really appreciate everything that you’ve done here and am glad to know that you really care about the world that we live in.
    AWS Certification Training in Chennai
    AWS Training in Bangalore
    AWS Training in Thirumangalam
    AWS Training in T nagar

    ReplyDelete
  78. innovative thoughts about SEO and its techniques.thanks for it.it will be useful for the learners who search for SEO.
    SEO course in chennai
    SEO Training in chennai Velachery
    SEO Training in kandanchavadi




    ReplyDelete
  79. When I initially commented, I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several emails with the same comment. Is there any way you can remove people from that service? Thanks.

    Amazon Web Services Training in OMR , Chennai | Best AWS Training in OMR, Chennai

    Amazon Web Services Training in Tambaram, Chennai|Best AWS Training in Tambaram, Chennai

    ReplyDelete
  80. This comment has been removed by the author.

    ReplyDelete
  81. Read all the information that i've given in above article. It'll give u the whole idea about it.
    python training in pune
    python training institute in chennai
    python training in Bangalore

    ReplyDelete
  82. Best Training Institute in Bangalore, Eminent IT Provides Best Classroom and Online Training for Data Science, Python, Hadoop, Blockchain, AWS, Azure and more with Experienced Realtime Trainers.NLP course in Marathahalli Bangalore
    AWS course in Marathahalli Bangalore
    Microsoft Azure course in Marathahalli Bangalore
    Apach Spark course in Marathahalli Bangalore

    ReplyDelete
  83. myTectra offers DevOps Training in Bangalore,Chennai, Pune using Class Room. myTectra offers Live Online DevOps Training Globally

    ReplyDelete
  84. myTectra offers DevOps Training in Bangalore ,Chennai, Pune using Class Room. myTectra offers Live Online DevOps Training Globally

    ReplyDelete
  85. Good job in presenting the correct content with the clear explanation. The content looks real with valid information. Good Work

    DevOps is currently a popular model currently organizations all over the world moving towards to it. Your post gave a clear idea about knowing the DevOps model and its importance.

    Good to learn about DevOps at this time.

    devops training in chennai | devops training in chennai with placement | devops training in chennai omr | devops training in velachery | devops training in chennai tambaram | devops institutes in chennai

    ReplyDelete
  86. your post is the very organized way and easily understandable. Doing a good job. Thank you for sharing this content.
    rpa training in chennai | rpa training in velachery | rpa training in chennai omr

    ReplyDelete
  87. Hmm, it seems like your site ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog.
    nebosh course in chennai

    ReplyDelete

  88. Great article on Blueprism .. I love to read your article on Blueprism because your way of representation and writing style makes it intresting. The speciality of this blog on Blueprism is that the reader never gets bored because its same Intresting from 1 line to last line. Really appericable post on Blueprism.
    Thanks and Regards,
    Top blueprism training institute in chennai

    ReplyDelete
  89. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    Python Training in Chennai
    Digital Marketing Course in Chennai
    Best Python Training in Chennai
    Best Python Training Institutes in Chennai
    Digital marketing classes in chennai
    Best digital marketing course in chennai

    ReplyDelete
  90. Your blog is nice. I believe this will surely help the readers who are really in need of this vital piece of information. Thanks for sharing and kindly keep updating.

    Best TOEFL Institute in Chennai
    TOEFL Course in Chennai
    TOEFL Courses in Chennai
    TOEFL Class in Chennai
    Spanish Institute near me
    Spanish Institute in Chennai
    Spanish Training in Chennai 

    ReplyDelete
  91. Thanks for such a great article here. I was searching for something like this for quite a long time and at last I’ve found it on your blog. It was definitely interesting for me to read about their market situation nowadays. Well written article.android quiz questions and answers | android code structure best practices

    ReplyDelete

  92. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Management Courses in Chennai | Airport Management Training in Chennai | Diploma in Airport Management Course in Chennai | Airlines Training Chennai | Airline Academy in Chennai

    ReplyDelete

  93. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Management Courses in Chennai | Airport Management Training in Chennai | Diploma in Airport Management Course in Chennai | Airlines Training Chennai | Airline Academy in Chennai

    ReplyDelete

  94. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Management Courses in Chennai | Airport Management Training in Chennai | Diploma in Airport Management Course in Chennai | Airlines Training Chennai | Airline Academy in Chennai

    ReplyDelete
  95. This article is very good, and I will share it
    http://45.32.85.12

    ReplyDelete
  96. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.
    R Programming training in Chennai | R Programming Training in Chennai with placement | R Programming Interview Questions and Answers | Trending Software Technologies in 2018

    ReplyDelete
  97. hi, nice blog. I liked the way of your explanation, it was really interesting, thanks for sharing!
    DevOps Online Training

    ReplyDelete
  98. Hey, wow all the posts are very informative for the people who visit this site. Good work! We also have a Website. Please feel free to visit our site. Thank you for sharing.
    Well written article.Thank You Sharing with Us android java interview questions and answers for experienced | android best practices 2018 | learn android programming step by step | future of android developer in india | android device manager app

    ReplyDelete
  99. quite informative, thanks for sharing with us

    - Learn Digital Academy

    ReplyDelete


  100. Very useful and informative content has been shared out here, Thanks for sharing it.
    Visit Learn Digital Academy for more information on Digital marketing course in Bangalore https://www.learndigital.co/ .

    ReplyDelete
  101. Outstanding blog thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Machine learning training in chennai
    python machine learning training in chennai
    best training insitute for machine learning

    ReplyDelete
  102. This comment has been removed by the author.

    ReplyDelete
  103. This comment has been removed by the author.

    ReplyDelete
  104. Thank you very much for for your great information. It really makes me happy and I am satisfied with the arrangement of your post.
    hotmail account

    ReplyDelete
  105. Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
    machine learning training in velachery

    Machine learning training in chennai

    machine learning certification in chennai

    ReplyDelete
  106. Thank you for your nice comment on my blog!
    sign up hotmail

    ReplyDelete
  107. If you don't mind proceed with this extraordinary work and I anticipate a greater amount of your amazing blog entries.
    hotmail.com

    ReplyDelete
  108. Great post. Keep posting such kind of info on your page. Am really impressed by your blog.
    hotmail login account

    ReplyDelete
  109. Thanks for your great and helpful presentation I like your good service. I always appreciate your post. That is very interesting I love reading and I am always searching for informative information like this.AngularJS Training in Chennai | Best AngularJS Training Institute in Chennai

    ReplyDelete
  110. Get in touch with technicians of Hotmail Support UK by through dialing toll free :create hotmail account

    ReplyDelete
  111. Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
    machine learning training in chennai
    machine learning training in omr
    top institutes for machine learning in chennai
    Android training in chennai
    PMP training in chennai

    ReplyDelete
  112. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing....
    Selenium training in Chennai

    ReplyDelete
  113. Wow!! Really a nice Article. Thank you so much for your efforts. Definitely, it will be helpful for others. I would like to follow your blog. Share more like this. Thanks Again.
    iot training in Chennai | Best iot Training Institute in Chennai

    ReplyDelete

Note: Only a member of this blog may post a comment.