Re: 回复: PHP Performance/Scalability
[email protected] (Deepak Goel)
| Newsgroups | php.general |
|---|---|
| Message-ID | <CA+b7NVW81JvZvV0GSRYCUdeBZ2NOCPf=b9iVgJP07dZ8c0Fd3g@mail.gmail.com> |
Hello Jose 1. We are using Apache FPM 2. TTFB for both the apps will need some work from my side 3. Sorry, I am a bit confused, what do you mean by *execution time*? 4. Machine Configuration: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 46 bits physical, 48 bits virtual CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 79 Model name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz (Please note, the cpu utilisation never goes beyond 10-15% even if the load is increased to 6000 users from 1500 users) Thank You. Deepak "The greatness of a nation can be judged by the way its animals are treated - Mahatma Gandhi" +91 73500 12833 [email protected] Facebook: https://www.facebook.com/deicool LinkedIn: www.linkedin.com/in/deicool "Plant a Tree, Go Green" Make In India : http://www.makeinindia.com/home On Fri, Oct 29, 2021 at 12:37 PM Jose Nobile <[email protected]> wrote: > Hello Deepak, > > 26 msecs -> 38 reqs/sec/thread -> If a CPU with 16 threads, then 615 > reqs/sec > You are reaching 150 reqs/sec, it can mean: > 1. You have 4 threads CPU (2 Core * 2 Threads or 4 Core * 1 Thread) > 2. If you have 16 threads, but the HTTP -> PHP Connection is taking about > 80 msecs > > Questions: > > 1. How many CPU Threads does the system have? > 2. How are you connecting HTTP to PHP? Apache mod_php, Apache/NGINX FPM, > Apache mod_lsapi or Litespeed webserver? > > The jsp execution by cli was not successful, check this: > https://stackoverflow.com/a/23550396 and > https://docs.oracle.com/cd/E19146-01/821-0790/abxcc/index.html > > If not possible execute java from cli, the closest thing is to measure the > TTFB (Time to first byte): > > A one time step: > echo "time_namelookup: %{time_namelookup}\n > time_connect: %{time_connect}\n > time_appconnect: %{time_appconnect}\n > time_pretransfer: %{time_pretransfer}\n > time_redirect: %{time_redirect}\n > time_starttransfer: %{time_starttransfer}\n > ----------\n > time_total: %{time_total}\n" > curl-format.txt > > you should see: > cat curl-format.txt > time_namelookup: %{time_namelookup}\n > time_connect: %{time_connect}\n > time_appconnect: %{time_appconnect}\n > time_pretransfer: %{time_pretransfer}\n > time_redirect: %{time_redirect}\n > time_starttransfer: %{time_starttransfer}\n > ----------\n > time_total: %{time_total}\n > > Then, > > curl -4 -sH 'Accept-encoding: br,gzip' -w "@curl-format.txt" -o /dev/null > -s https://localhost/yourpathtojava > > My output from a PHP application connected via Litespeed Enterprise: > > time_namelookup: 0.060 > time_connect: 0.060 > time_appconnect: 0.125 > time_pretransfer: 0.125 > time_redirect: 0.000 > time_starttransfer: 0.125 > ---------- > time_total: 0.126 > > It means the TTFB is 126-60 = 65 msecs is the time between the HTTP > Request is sent and the response from the webapp starts answering (returns > the first byte) > > Then, we could assume 65 msecs is the execution time itself from the > webapp (PHP or Java) > > It would be the nearest measurement if the app cannot run from cli. BUT, > If I run the same script which from the HTTP interface give me a 65 msecs > TTFB: > > time php index.php > /dev/null > > real 0m0.029s > user 0m0.017s > sys 0m0.012s > > It means the HTTP interface is taking about 36 msecs (HTTP decode + TLS > decryption) "HTTP Time" > > Test the TTFB for both apps, calculate the "HTTP time" for PHP, then the > execution time for the Java App would be TTFB - "HTTP time" (Calculated > from the PHP Execution). > > 3. What is the TTFB for both apps? > 4. What is the execution time for both apps? > > > Regards, > José Nobile > > > On Fri, Oct 29, 2021 at 1:28 AM Deepak Goel <[email protected]> wrote: > >> Hello >> >> For php (time php login.php): >> >> real 0m0.026s >> user 0m0.012s >> sys 0m0.014s >> >> For Java (time java login.jsp): >> >> Error: Could not find or load main class login.jsp >> Caused by: java.lang.ClassNotFoundException: login.jsp >> >> Deepak >> "The greatness of a nation can be judged by the way its animals are >> treated - Mahatma Gandhi" >> >> +91 73500 12833 >> [email protected] >> >> Facebook: https://www.facebook.com/deicool >> LinkedIn: www.linkedin.com/in/deicool >> >> "Plant a Tree, Go Green" >> >> Make In India : http://www.makeinindia.com/home >> >> >> >> On Thu, Oct 28, 2021 at 11:46 PM Deepak Goel <[email protected]> wrote: >> >>> Hi >>> >>> Let me check it out. Will get back. >>> >>> Also, has anyone deployed PHP and it has scaled vertically to a higher >>> number of users? Can you please post the results and the machine >>> configuration details? It will help. >>> >>> Thanks. >>> >>> On Thu, 28 Oct 2021, 23:39 Jose Nobile, <[email protected]> wrote: >>> >>>> Hi, >>>> I have read all the threads, I'm updated! >>>> >>>> The waits that I've mentioned before are a signal that can prevent you >>>> from using the available CPU. For example, what ifis the PHP has to read >>>> an external HTTP resource that needs to fetch? It will be in the wait time >>>> (network IO), rather than be speculative, test it. >>>> >>>> You should execute the exact same code when executing from cli than the >>>> HTTP interface, just to isolate the issue and some tests. >>>> >>>> >>>> Regards, >>>> José Nobile >>>> >>>> >>>> On Thu, Oct 28, 2021 at 12:43 PM Deepak Goel <[email protected]> wrote: >>>> >>>>> Hello Jose >>>>> >>>>> 1. Got it! I will try this tom afternoon (IST) and pass on the results. >>>>> >>>>> 2. However most of the php scripts are called from the web and not the >>>>> command line. Also not all the methods are called. Typically, 1 out of 10 >>>>> methods are called. (I am unsure how this would compare with the cli time >>>>> command). I guess we would have to divide by 10. >>>>> >>>>> 3. Also there is plenty of CPU available when I run a performance test >>>>> on PHP. Only 10-15% is consumed. This would indicate that there is some >>>>> synchronization happening in the PHP Infrastructure which is preventing the >>>>> full usage of CPU (I don't see this in Java). >>>>> >>>>> 4. If I run a Java test, the result scales upto 6000+ users. For PHP, >>>>> everything remains the same (code, cpu, db) but it scales only to 1500 >>>>> users. There is no IO wait. And CPU/Memory are utilized only to 15%. >>>>> >>>>> Thanks! >>>>> >>>>> Deepak >>>>> "The greatness of a nation can be judged by the way its animals are >>>>> treated - Mahatma Gandhi" >>>>> >>>>> +91 73500 12833 >>>>> [email protected] >>>>> >>>>> Facebook: https://www.facebook.com/deicool >>>>> LinkedIn: www.linkedin.com/in/deicool >>>>> >>>>> "Plant a Tree, Go Green" >>>>> >>>>> Make In India : http://www.makeinindia.com/home >>>>> >>>>> >>>>> On Thu, Oct 28, 2021 at 9:05 PM Jose Nobile <[email protected]> >>>>> wrote: >>>>> >>>>>> Hello Deepak, >>>>>> >>>>>> Test it using cli >>>>>> >>>>>> > time php yourscript.php >>>>>> >>>>>> What are the results for the time command? >>>>>> >>>>>> For example: >>>>>> time /opt/alt/php80/usr/bin/php test.php >>>>>> 1 >>>>>> real 0m0.010s >>>>>> user 0m0.006s >>>>>> sys 0m0.003s >>>>>> >>>>>> It means each request is going to take 6 msecs from Linux user CPU + >>>>>> 3 msecs from Linux system CPU + 1 msec from IO or other waits. >>>>>> >>>>>> You should compare this to the Java applications testing in the same >>>>>> way, cli, no other process should be running (just the kernel and sys >>>>>> processes). >>>>>> >>>>>> In this example, each request can be completed in 9 msecs from CPU + >>>>>> 1 msec from waits, at CPU level, it can handle 100 requests/sec per CPU >>>>>> thread, if it is a 16 threads CPU, it could handle 1600 reqs/sec >>>>>> >>>>>> The HTTP interface can add some CPU, also the TLS (Elliptic curve are >>>>>> super fast, or the ciphers for TLS 1.3), it got under 1 msec when the HTTP >>>>>> interface is LSAPI from Litespeed Enterprise, which better than PHP-FPM, >>>>>> but first focus in the program itself, testing from cli, each individual >>>>>> requests optimizing at all levels, a kernel updated, NVMe for storage, DDR4 >>>>>> ECC 2933MHz, just loading the required PHP extensions, profiling SQL >>>>>> queries to be as efficient as possible anything from 1 msec or more can >>>>>> represent hundreds of potential more reqs/sec. >>>>>> >>>>>> What are the results of the PHP and the Java program executed from >>>>>> cli in a dedicated system? >>>>>> >>>>>> >>>>>> Regards, >>>>>> José Nobile >>>>>> >>>>>> >>>>>> On Thu, Oct 28, 2021 at 8:28 AM Deepak Goel <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hello Shiplu >>>>>>> >>>>>>> The resources mentioned by you are not a bottleneck. There is >>>>>>> plenty of it available. >>>>>>> >>>>>>> Deepak >>>>>>> "The greatness of a nation can be judged by the way its animals are >>>>>>> treated - Mahatma Gandhi" >>>>>>> >>>>>>> +91 73500 12833 >>>>>>> [email protected] >>>>>>> >>>>>>> Facebook: https://www.facebook.com/deicool >>>>>>> LinkedIn: www.linkedin.com/in/deicool >>>>>>> >>>>>>> "Plant a Tree, Go Green" >>>>>>> >>>>>>> Make In India : http://www.makeinindia.com/home >>>>>>> >>>>>>> >>>>>>> On Thu, Oct 28, 2021 at 2:15 PM shiplu <[email protected]> wrote: >>>>>>> >>>>>>>> Hello Deepak, >>>>>>>> >>>>>>>> If the code itself has a performance problem then it would show up >>>>>>>> even when the concurrency is 1. But it shows the issue when concurrency >>>>>>>> hits 1500. From 1 to 1500 there is the number when the response time starts >>>>>>>> to increase. That's where the problem arises. You mentioned it worked when >>>>>>>> increased the number of VMs. Check the system resource statistics when you >>>>>>>> are requesting to multiple VMs and a single VM. >>>>>>>> >>>>>>>> It can happen that a metric is very high when you are using a >>>>>>>> single VM solution with 1500 concurrent requests. And the same metric would >>>>>>>> be very low in horizontal scaling setup. Some of these metrics can be >>>>>>>> 1. CPU >>>>>>>> 2. Memory >>>>>>>> 3. IOWait time >>>>>>>> 4. Request Queue size >>>>>>>> 5. Open file descriptors >>>>>>>> This is a metric you need to find out yourself. Once you find the >>>>>>>> metric you'll know horizontal scaling made it possible to lower it. Then >>>>>>>> for vertical scaling, you just need to increase that. >>>>>>>> >>>>>>>> >>>>>>>> ― >>>>>>>> Shiplu.Mokadd.im >>>>>>>> Senior Unix Hacker >>>>>>>> >>>>>>>> *Innovation distinguishes between follower and leader* >>>>>>>> — Steve Jobs >>>>>>>> >>>>>>>> >>>>>>>> *An expert is a person who has made all the mistakes that can be >>>>>>>> made in a very narrow field.*— Niels Bohr >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Oct 28, 2021 at 9:35 AM Deepak Goel <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> We are using CodeIgniter 3.1. >>>>>>>>> >>>>>>>>> >>>>>>>>> Deepak >>>>>>>>> "The greatness of a nation can be judged by the way its animals >>>>>>>>> are treated - Mahatma Gandhi" >>>>>>>>> >>>>>>>>> +91 73500 12833 >>>>>>>>> [email protected] >>>>>>>>> >>>>>>>>> Facebook: https://www.facebook.com/deicool >>>>>>>>> LinkedIn: www.linkedin.com/in/deicool >>>>>>>>> >>>>>>>>> "Plant a Tree, Go Green" >>>>>>>>> >>>>>>>>> Make In India : http://www.makeinindia.com/home >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Oct 28, 2021 at 1:03 PM Torsten Rosenberger < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> > >>>>>>>>>> > Some thoughts: >>>>>>>>>> > >>>>>>>>>> > 1. We are using a simple SQL Query in the code >>>>>>>>>> > $data = $this->db->select('user_id,email') >>>>>>>>>> > ->where(array('email' => >>>>>>>>>> $email_address)) >>>>>>>>>> > ->order_by('user_id', 'DESC') >>>>>>>>>> > ->limit(1) >>>>>>>>>> > ->get('users') >>>>>>>>>> > ->row_array(); >>>>>>>>>> looks like you are using laraval >>>>>>>>>> >>>>>>>>>> so i would start with $start = >>>>>>>>>> microtime(true); >>>>>>>>>> >>>>>>>>>> run you db code and the microtime(true) - $start; >>>>>>>>>> >>>>>>>>>> and >>>>>>>>>> compare this when you rewrite the code with native mysqli >>>>>>>>>> functions >>>>>>>>>> like >>>>>>>>>> mysqli_query >>>>>>>>>> >>>>>>>>>> I know this is work but so you can get the feeling which >>>>>>>>>> one is faster. >>>>>>>>>> In small application you use frameworks but there could >>>>>>>>>> be cases where a normal function ist much faster as writing a >>>>>>>>>> class >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > 2. We are using mysqli >>>>>>>>>> > >>>>>>>>>> > 3. The SQL Query takes time in msec. And the Database is not a >>>>>>>>>> > performance bottleneck >>>>>>>>>> That could be OK for the database. But as in point 1. so the query >>>>>>>>>> could be fast but the layer above could be slow. >>>>>>>>>> >>>>>>>>>> I thing when you >>>>>>>>>> compare the code sections with microtime you will find the part >>>>>>>>>> eating >>>>>>>>>> the time in the script. >>>>>>>>>> > >>>>>>>>>> > 4. We use mostly images with <img src=""> >>>>>>>>>> > >>>>>>>>>> > 5. We have seen fpm outperform mod_php >>>>>>>>>> > >>>>>>>>>> > 6. The Java code accesses the same database (The database is on >>>>>>>>>> a >>>>>>>>>> > seperate physical server). Also the queries are the same in >>>>>>>>>> Java as >>>>>>>>>> > well PHP >>>>>>>>>> > >>>>>>>>>> > 7. I will try instrumenting the entire PHP code and see where >>>>>>>>>> the >>>>>>>>>> > bottleneck is. >>>>>>>>>> > >>>>>>>>>> > Deepak >>>>>>>>>> > "The greatness of a nation can be judged by the way its animals >>>>>>>>>> are >>>>>>>>>> > treated - Mahatma Gandhi" >>>>>>>>>> > >>>>>>>>>> > +91 73500 12833 >>>>>>>>>> > [email protected] >>>>>>>>>> > >>>>>>>>>> > Facebook: https://www.facebook.com/deicool >>>>>>>>>> > LinkedIn: www.linkedin.com/in/deicool >>>>>>>>>> > >>>>>>>>>> > "Plant a Tree, Go Green" >>>>>>>>>> > >>>>>>>>>> > Make In India : http://www.makeinindia.com/home >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > On Thu, Oct 28, 2021 at 11:23 AM Torsten Rosenberger < >>>>>>>>>> > [email protected]> wrote: >>>>>>>>>> > > Hello Deepak >>>>>>>>>> > > >>>>>>>>>> > > I think PHP-FPM had heavily reduce the concurrency of PHP. >>>>>>>>>> > > > PHP should immediately implement a API like WSGI/ASGI in >>>>>>>>>> python. >>>>>>>>>> > > It >>>>>>>>>> > > > is very simple but very useful. >>>>>>>>>> > > > >>>>>>>>>> > > > ------------------ 原始邮件 ------------------ >>>>>>>>>> > > > 发件人: "Deepak Goel" <[email protected]>; >>>>>>>>>> > > > 发送时间: 2021年10月26日(星期二) 晚上11:15 >>>>>>>>>> > > > 收件人: "Alex"<[email protected]>; >>>>>>>>>> > > > 抄送: "php-general General List"<[email protected] >>>>>>>>>> >;"Deepak >>>>>>>>>> > > > Sharma"<[email protected]>; >>>>>>>>>> > > > 主题: Re: PHP Performance/Scalability >>>>>>>>>> > > > >>>>>>>>>> > > > Hi >>>>>>>>>> > > > >>>>>>>>>> > > > The code is fairly simple. It contains a few images and a >>>>>>>>>> simple >>>>>>>>>> > > SQL >>>>>>>>>> > > > query (The same code in Java gives superb performance). We >>>>>>>>>> have >>>>>>>>>> > > an >>>>>>>>>> > > > Apache Web Server in front of php as of now. And I will try >>>>>>>>>> out >>>>>>>>>> > > this >>>>>>>>>> > > > (https://github.com/spiral/roadrunner). >>>>>>>>>> > > >>>>>>>>>> > > We are talking about a blackbox. >>>>>>>>>> > > The code is simple ? >>>>>>>>>> > > >>>>>>>>>> > > How long take's >>>>>>>>>> > > the sql query ? >>>>>>>>>> > > What do you use to access the database PDO or mysqli ? >>>>>>>>>> > > Y >>>>>>>>>> > > ou wrote java is faster. Your java code access the same >>>>>>>>>> database ? >>>>>>>>>> > > >>>>>>>>>> > > You wrote a few images ? >>>>>>>>>> > > Do you only show the images with <img src=""> >>>>>>>>>> > > or are you converting them for thumbnails etc. >>>>>>>>>> > > >>>>>>>>>> > > A long time ago there was a great presentation from Rasmus >>>>>>>>>> about >>>>>>>>>> > > PHP >>>>>>>>>> > > Performance. >>>>>>>>>> > > >>>>>>>>>> > > So a simple query on my Server's with mod_php and mysql >>>>>>>>>> > > takes 0.0001 to 0.0008 seconds. If the simple query takes >>>>>>>>>> 0.01 >>>>>>>>>> > > Second >>>>>>>>>> > > which looks fast but php have to wait for the DB. So there >>>>>>>>>> you can >>>>>>>>>> > > loose factor 100 in the req/sec. >>>>>>>>>> > > >>>>>>>>>> > > Why are you using fpm and not the mod_php part in apache ? >>>>>>>>>> > > OPcache is >>>>>>>>>> > > active ? >>>>>>>>>> > > >>>>>>>>>> > > There are a lot of parameters we don't know. >>>>>>>>>> > > >>>>>>>>>> > > If you benchmark >>>>>>>>>> > > your code with an easy microtime(true) call to see how long >>>>>>>>>> your >>>>>>>>>> > > script >>>>>>>>>> > > takes. >>>>>>>>>> > > If you store the data in a file when you run your benchmark >>>>>>>>>> you >>>>>>>>>> > > can maybe see if a code part is waiting for the database or >>>>>>>>>> > > something >>>>>>>>>> > > else. >>>>>>>>>> > > So that the bottleneck ist not php. >>>>>>>>>> > > >>>>>>>>>> > > So i would go through the code >>>>>>>>>> > > with microtime() an look what takes long and then go deepter. >>>>>>>>>> > > >>>>>>>>>> > > if the >>>>>>>>>> > > code is heavy and the result dosen't change or a refresh >>>>>>>>>> after 5 >>>>>>>>>> > > min is >>>>>>>>>> > > ok you can use the APCu cache or so on. >>>>>>>>>> > > >>>>>>>>>> > > If your code is super fast an still slow requests then you >>>>>>>>>> have to >>>>>>>>>> > > strace the apache process to see if there is something miss >>>>>>>>>> > > configured. >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > So as a PHP developer we cann't accept that Java is faster :) >>>>>>>>>> > > >>>>>>>>>> > > BR/Torsten >>>>>>>>>> > > >>>>>>>>>> > > > Thanks. >>>>>>>>>> > > > >>>>>>>>>> > > > Deepak >>>>>>>>>> > > > "The greatness of a nation can be judged by the way its >>>>>>>>>> animals >>>>>>>>>> > > are >>>>>>>>>> > > > treated - Mahatma Gandhi" >>>>>>>>>> > > > >>>>>>>>>> > > > +91 73500 12833 >>>>>>>>>> > > > [email protected] >>>>>>>>>> > > > >>>>>>>>>> > > > Facebook: https://www.facebook.com/deicool >>>>>>>>>> > > > LinkedIn: www.linkedin.com/in/deicool >>>>>>>>>> > > > >>>>>>>>>> > > > "Plant a Tree, Go Green" >>>>>>>>>> > > > >>>>>>>>>> > > > Make In India : http://www.makeinindia.com/home >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > On Tue, Oct 26, 2021 at 5:15 PM Alex <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> > > > > Hi. >>>>>>>>>> > > > > >>>>>>>>>> > > > > On 26.10.21 11:53, Deepak Goel wrote: >>>>>>>>>> > > > > > Hello >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > I have a very simple PHP application which I develop on >>>>>>>>>> > > Apache- >>>>>>>>>> > > > > Web-Server. However the application does >>>>>>>>>> > > > > > not scale beyond 1500 concurrent users (150 >>>>>>>>>> requests/sec), >>>>>>>>>> > > even >>>>>>>>>> > > > > though there is plenty of hardware >>>>>>>>>> > > > > > available (CPU is getting utilized 15%, Memory is >>>>>>>>>> getting >>>>>>>>>> > > > > utilized 15%). >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > On a similar note, when I develop the same application >>>>>>>>>> in >>>>>>>>>> > > Java, >>>>>>>>>> > > > > it scales to more than 6000 concurrent >>>>>>>>>> > > > > > users (600 requests/sec) on the same hardware. >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > Any pointers on how to address this scalability issue? >>>>>>>>>> > > > > >>>>>>>>>> > > > > The question is how "simple" is the PHP Code? >>>>>>>>>> > > > > Maybe you can tune the Code or use another Server in >>>>>>>>>> front of >>>>>>>>>> > > PHP >>>>>>>>>> > > > > FPM like haproxy, Caddy, nginx? >>>>>>>>>> > > > > Maybe you can try to run >>>>>>>>>> https://github.com/spiral/roadrunner >>>>>>>>>> > > to >>>>>>>>>> > > > > execute the PHP Code. >>>>>>>>>> > > > > >>>>>>>>>> > > > > Jm2c >>>>>>>>>> > > > > >>>>>>>>>> > > > > Regards >>>>>>>>>> > > > > Alex >>>>>>>>>> > > > > >>>>>>>>>> > > > > > Thanks! >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > Deepak >>>>>>>>>> > > > > > "The greatness of a nation can be judged by the way its >>>>>>>>>> > > animals >>>>>>>>>> > > > > are treated - Mahatma Gandhi" >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > +91 73500 12833 >>>>>>>>>> > > > > > [email protected] <mailto:[email protected]> >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > Facebook: https://www.facebook.com/deicool < >>>>>>>>>> > > > > https://www.facebook.com/deicool> >>>>>>>>>> > > > > > LinkedIn: www.linkedin.com/in/deicool < >>>>>>>>>> > > > > http://www.linkedin.com/in/deicool> >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > "Plant a Tree, Go Green" >>>>>>>>>> > > > > > >>>>>>>>>> > > > > > Make In India : http://www.makeinindia.com/home < >>>>>>>>>> > > > > http://www.makeinindia.com/home> >>>>>>>>>> > > > > >>>>>>>>>> > > >>>>>>>>>> >>>>>>>>>>