IP Library Granted Patent US 10,496,768
Granted Patent B2
US 10,496,768 · App. 15/254,601 · Granted Dec 3, 2019

Simulating a production environment using distributed computing technologies

Inventors: Pengshan Zhang (Shanghai, CN); Jun Zhang (Pleasanton, CA)
Assignee: PAYPAL, INC.
G06F17/5009G06F11/3006G06F11/3414H04L43/50G06F2217/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,496,768
App. No.
15/254,601
Granted
Dec 3, 2019
Kind
B2
Abstract

Systems and methods for query large database records are disclosed. An example method includes: selecting a user-specified test program for execution; determining one or more testing parameters associated with the user-specified test program; identifying, based on the one or more testing parameters, computing nodes within a distributed computing system; generating, based on the user-specified test program, a first plurality of computing tasks for execution by the computing nodes. The first plurality of computing tasks, when executed, generates a second plurality of computing requests to a server under test. The method also includes distributing execution of the first plurality of computing tasks across the computing nodes; and testing the server under test by causing the first plurality of computing tasks to be executed by the computing nodes.

Claims (52)

1. A method, comprising:

selecting a user-specified test program for execution;

determining one or more testing parameters associated with the user-specified test program, wherein the one or more parameters indicate a load to a server under test;

identifying, based on the one or more testing parameters, computing nodes within a distributed computing system in a distributed testing environment;

generating, based on the user-specified test program, a first plurality of computing tasks for execution by the computing nodes, wherein the first plurality of computing tasks when executed generate a second plurality of computing requests that simulate the load on the server under test;

distributing execution of the first plurality of computing tasks across the computing nodes; and

testing the load on the server under test that executes the second plurality of computing requests in a production environment-by causing the first plurality of computing tasks to be executed by the computing nodes in the distributed testing environment.

2. The method of claim 1 , wherein the computing nodes include a name node and a plurality of data nodes managed by the name node.

3. The method of claim 2 , wherein distributing the execution of the first plurality of computing tasks comprises:

requesting the name node to distribute the execution of the plurality of computing tasks across the plurality of data nodes.

4. The method of claim 2 , wherein the plurality of computing requests, when executed, request responses from a first server application; and wherein the method further comprises:

detecting, using the name node, that the first server application is unresponsive; and

responsive to the detecting, automatically re-starting, using the name node, the first server application.

5. The method of claim 2 , wherein the plurality of computing requests, when executed, request responses from a first server application; and wherein the method further comprises:

detecting, using the name node, that the first server application provides a response time longer than a predefined response time; and

responsive to the detecting, automatically starting, using the name node, a second instance of the first server application.

6. The method of claim 5 , further comprising:

terminating an original instance of the first server application; and

measuring a response time of the second instance of the first server application.

7. The method of claim 6 , further comprising:

continuing the original instance of the first server application; and

determining a second response time of the first server application based on the response time of the original instance and a response time of the second instance.

8. The method of claim 1 , further comprising:

determining a performance indicator to be measured; and

generating the first plurality of computing tasks to provide a predefined number of computing requests.

9. The method of claim 1 , wherein causing the first plurality of computing tasks to be executed by the computing nodes comprises: causing the first plurality of computing tasks to be executed in a batch processing by the computing nodes.

10. The method of claim 1 , wherein the second plurality of computing requests comprises two or more types of computing tasks.

11. A system, comprising:

a non-transitory memory; and

one or more hardware processors coupled to the non-transitory memory and configured to execute instructions to perform operations comprising:

selecting a user-specified test program for execution to test a load on a server under test;

determining one or more testing parameters associated with the user-specified test program;

identifying, based on the one or more testing parameters, computing nodes within a distributed computing system used for testing a server under test;

distributing execution of the user-specified test program across the computing nodes; and

testing the load on the server under test using output generated by the user-specified test program by causing the user-specified test program to be executed by the computing nodes in the distributed computing system.

12. The system of claim 11 , wherein the operations further comprise:

measuring performance of the server under test based on execution of the user-specified test program by the computing nodes.

13. The system of claim 11 , wherein testing the server under test further comprises:

generating a predefined number of instances of the user-specified test program; and

causing the predefined number of instances of the user-specified test program to be executed by the computing nodes.

14. The system of claim 11 , wherein testing the server under test further comprises: causing the user-specified test program to be executed as part of a batch process job by the computing nodes.

15. The system of claim 11 , wherein the computing nodes include a name node and a plurality of data nodes managed by the name node.

16. The system of claim 15 , wherein distributing execution of the user-specified test program across the computing nodes comprises: requesting the name node to distribute the execution of a plurality of instances of the user-specified test program across the plurality of data nodes.

17. The system of claim 11 , wherein the distributed computing system includes a Hadoop distributed file system.

18. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:

selecting a user-specified test program for execution to test a load on a server under test;

determining one or more testing parameters associated with the user-specified test program;

identifying, based on the one or more testing parameters, computing nodes within a distributed computing system used for testing a server under test;

distributing execution of the user-specified test program across the computing nodes; and

testing the load on the server under test using output generated by the user-specified test program by causing the user-specified test program to be executed by the computing nodes in the distributed computing system.

19. The non-transitory machine-readable medium of claim 18 , wherein the computing nodes include a name node and a plurality of data nodes managed by the name node.

20. The non-transitory machine-readable medium of claim 19 , wherein distributing execution of the user-specified test program across the computing nodes comprises: requesting the name node to distribute the execution of a plurality of instances of the user-specified test program across the plurality of data nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: ZHANG, PENGSHAN; ZHANG, JUN
To: PAYPAL, INC.
Reel/Frame 042067/0155 →
Continuity (1)
Related Publication 20180060460A1 · Mar 1, 2018
Cited By (5)
US 12,423,704 US 12,506,760 US 12,524,484 US 12,613,868 US 12,632,450