On demand synthetic data matrix generation
An data driven approach to generating synthetic data matrices is presented. By retrieving historical network traffic data, probabilistic models are generated. Optimal distribution families for a set of independent data segments are determined. Applications are tested and performance metrics are determined based on the generated synthetic data matrices.
1. A method, comprising:
accessing historical network traffic data corresponding to data requests sent between a set of client devices and a server system;
based on the historical network traffic data, generating a set of synthetic data requests for a particular application;
generating one or more synthetic download outcomes for the set of synthetic data requests;
determining a set of performance metrics of the particular application by comparing, based on the one or more synthetic download outcomes, performance of the particular application under different combinations of network values;
generating TCP parameters for the particular application based on the set of performance metrics, wherein the TCP parameters improve network performance of the particular application; and
causing a client device that is executing the particular application to be configured with the TCP parameters.
2. The method of claim 1 , wherein the set of performance metrics include inferred performance metrics derived from application performance simulations.
3. The method of claim 1 , wherein the one or more synthetic download outcomes are generated from a set of probabilistic models derived based on the historical network traffic data.
4. The method of claim 1 , wherein the comparing further includes comparing end user experience and application performance across different combinations of geography and network types.
5. The method of claim 1 , further comprising:
generating aggregate datasets of performance metrics comparing different combinations of network values that affect application performance.
6. The method of claim 1 , wherein the historical network traffic data includes network conditions reported by an agent installed on the client device.
7. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:
accessing historical network traffic data corresponding to data requests sent between a set of client devices and a server system;
based on the historical network traffic data, generating a set of synthetic data requests for a particular application;
generating one or more synthetic download outcomes for the set of synthetic data requests;
determining a set of performance metrics of the particular application by comparing, based on the one or more synthetic download outcomes, performance of the particular application under different combinations of network values;
generating TCP parameters for the particular application based on the set of performance metrics, wherein the TCP parameters improve network performance of the particular application; and
causing a client device that is executing the particular application to be configured with the TCP parameters.
8. The one or more non-transitory computer-readable storage media of claim 7 , wherein the set of performance metrics include inferred performance metrics derived from application performance simulations.
9. The one or more non-transitory computer-readable storage media of claim 7 , wherein the set of performance metrics include performance metrics derived from probabilistic modeling.
10. The one or more non-transitory computer-readable storage media of claim 7 , wherein the comparing further includes comparing end user experience and application performance across different combinations of geography and network types.
11. The one or more non-transitory computer-readable storage media of claim 7 , wherein the one or more sequences of instructions, which when executed by the one or more processors cause further performance of:
generating aggregate datasets of performance metrics comparing different combinations of network values that affect application performance.
12. The one or more non-transitory computer-readable storage media of claim 7 , wherein the historical network traffic data includes network conditions reported by an agent installed on the client device.
13. An apparatus, comprising:
one or more processors; and
a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to:
access historical network traffic data corresponding to data requests sent between a set of client devices and a server system;
based on the historical network traffic data, generate a set of synthetic data requests for a particular application;
generate one or more synthetic download outcomes for the set of synthetic data requests;
determine a set of performance metrics of the particular application by comparing, based on the one or more synthetic download outcomes, performance of the particular application under different combinations of network values;
generate TCP parameters for the particular application based on the set of performance metrics, wherein the TCP parameters improve network performance of the particular application; and
cause a client device that is executing the particular application to be configured with the TCP parameters.
14. The apparatus of claim 13 , wherein the set of performance metrics include inferred performance metrics derived from application performance simulations.
15. The apparatus of claim 13 , wherein the set of performance metrics include performance metrics derived from a set of probabilistic models.
16. The apparatus of claim 13 , wherein the comparing further includes comparing end user experience and application performance across different combinations of geography and network types.
17. The apparatus of claim 13 , wherein the instructions, which when executed by the one or more processors, cause the one or more processors to further:
generate aggregate datasets of performance metrics comparing different combinations of network values that affect application performance.