Advertisement
ecto

Untitled

Oct 3rd, 2016
913
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.74 KB | None | 0 0
  1. <?php
  2.  
  3. $_SERVER["dbHost"] = "localhost";
  4. $_SERVER["dbName"] = "dev_iut";
  5. $_SERVER["dbUserName"] = "php";
  6. $_SERVER["dbPassword"] = "php";
  7.  
  8. // ================================================== CACHE GENERATOR ==================================================
  9.  
  10. $_SERVER["cacheChar"] = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  11. $_SERVER["cacheCharLength"] = strlen($_SERVER["cacheChar"]);
  12. $_SERVER["cacheEmailDomain"] = array(
  13.     "aol.com", "att.net", "comcast.net", "facebook.com", "gmail.com", "gmx.com", "googlemail.com",
  14.     "google.com", "hotmail.com", "hotmail.co.uk", "mac.com", "me.com", "mail.com", "msn.com",
  15.     "live.com", "sbcglobal.net", "verizon.net", "yahoo.com", "yahoo.co.uk",
  16.  
  17.     /* Other global domains */
  18.     "email.com", "games.com" /* AOL */, "gmx.net", "hush.com", "hushmail.com", "icloud.com", "inbox.com",
  19.     "lavabit.com", "love.com" /* AOL */, "outlook.com", "pobox.com", "rocketmail.com" /* Yahoo */,
  20.     "safe-mail.net", "wow.com" /* AOL */, "ygm.com" /* AOL */, "ymail.com" /* Yahoo */, "zoho.com", "fastmail.fm",
  21.     "yandex.com",
  22.  
  23.     /* United States ISP domains */
  24.     "bellsouth.net", "charter.net", "comcast.net", "cox.net", "earthlink.net", "juno.com",
  25.  
  26.     /* British ISP domains */
  27.     "btinternet.com", "virginmedia.com", "blueyonder.co.uk", "freeserve.co.uk", "live.co.uk",
  28.     "ntlworld.com", "o2.co.uk", "orange.net", "sky.com", "talktalk.co.uk", "tiscali.co.uk",
  29.     "virgin.net", "wanadoo.co.uk", "bt.com",
  30.  
  31.     /* Domains used in Asia */
  32.     "sina.com", "qq.com", "naver.com", "hanmail.net", "daum.net", "nate.com", "yahoo.co.jp", "yahoo.co.kr",
  33.     "yahoo.co.id", "yahoo.co.in", "yahoo.com.sg", "yahoo.com.ph",
  34.  
  35.     /* French ISP domains */
  36.     "hotmail.fr", "live.fr", "laposte.net", "yahoo.fr", "wanadoo.fr", "orange.fr", "gmx.fr", "sfr.fr", "neuf.fr", "free.fr",
  37.  
  38.     /* German ISP domains */
  39.     "gmx.de", "hotmail.de", "live.de", "online.de", "t-online.de" /* T-Mobile */, "web.de", "yahoo.de",
  40.  
  41.     /* Russian ISP domains */
  42.     "mail.ru", "rambler.ru", "yandex.ru", "ya.ru", "list.ru",
  43.  
  44.     /* Belgian ISP domains */
  45.     "hotmail.be", "live.be", "skynet.be", "voo.be", "tvcablenet.be", "telenet.be",
  46.  
  47.     /* Argentinian ISP domains */
  48.     "hotmail.com.ar", "live.com.ar", "yahoo.com.ar", "fibertel.com.ar", "speedy.com.ar", "arnet.com.ar",
  49.  
  50.     /* Domains used in Mexico */
  51.     "hotmail.com", "gmail.com", "yahoo.com.mx", "live.com.mx", "yahoo.com", "hotmail.es", "live.com", "hotmail.com.mx",
  52.     "prodigy.net.mx", "msn.com"
  53. );
  54. $_SERVER["cacheEmailDomainLength"] = sizeof($_SERVER["cacheEmailDomain"]) - 1;
  55.  
  56. //echo sizeof($_SERVER["cacheEmailDomain"]);
  57.  
  58. //======================================================= RANDOM =======================================================
  59.  
  60. function generateRandomEmail()
  61. {
  62.     return generateRandomString(10) . "@" . $_SERVER["cacheEmailDomain"][rand(0, $_SERVER["cacheEmailDomainLength"])];
  63. }
  64.  
  65. function generateRandomString($length = 10)
  66. {
  67.     return substr(str_shuffle($_SERVER["cacheChar"]), 0, $length);
  68. }
  69.  
  70.  
  71. $_SERVER["db"] = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
  72.  
  73. if ($_SERVER["db"]->connect_errno > 0) {
  74.     die('Unable to connect to database [' . $_SERVER["db"]->connect_error . ']');
  75. }
  76.  
  77. //===================================================== TIME COUNT =====================================================
  78.  
  79. function startTime($name)
  80. {
  81.     $_SERVER[$name] = microtime(true);
  82. }
  83.  
  84. function diffTime($name, $time)
  85. {
  86.     return $time - $_SERVER[$name];
  87. }
  88.  
  89. function diffTimeToMs($name, $time)
  90. {
  91.     return diffTime($name, $time);
  92. }
  93.  
  94. function byFile($count)
  95. {
  96.     $db = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
  97.     $fp = fopen('data.csv', 'w');
  98.     for ($i = 0; $i < $count; $i++) {
  99.         fputcsv($fp, array(
  100.             "name" => generateRandomString(10),
  101.             "address" => generateRandomString(10),
  102.             "type" => rand(0, 10),
  103.             "deleted" => rand(0, 1),
  104.             "email" => generateRandomEmail()
  105.         ));
  106.     }
  107.     fclose($fp);
  108.     startTime("longWays");
  109.     $sql = "LOAD DATA INFILE '/var/www/data.csv'
  110.            FIELDS TERMINATED BY ','
  111.            ESCAPED BY ''
  112.            LINES TERMINATED BY '\n'
  113.            (name, address, type, deleted, email)";
  114.     if (!$result = $db->query($sql)) {
  115.         die('There was an error running the query [' . $db->error . ']');
  116.     }
  117.     echo $count . " longWaysPDO : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
  118. }
  119.  
  120. function byPacket($count, $packetSize)
  121. {
  122.     $data = array(
  123.         "name" => generateRandomString(49),
  124.         "address" => generateRandomString(49),
  125.         "type" => rand(0, 50000),
  126.         "email" => generateRandomEmail(),
  127.     );
  128.     startTime("byPacket");
  129.     for ($i = 0; $i < $count / $packetSize; $i++) {
  130.         for ($j = 0; $j < $packetSize; $j++) {
  131.             $sql = "INSERT INTO dev_iut.test(name, address, type, email)
  132.                             VALUES";
  133.             $sqlValue[] = "(\"" . addslashes($data["name"]) . "\", \""
  134.                 . addslashes($data["address"]) . "\", \""
  135.                 . $data["type"] . "\", \""
  136.                 . addslashes($data["email"]) .
  137.                 "\")";
  138.             if (!$result = $_SERVER["db"]->query($sql . implode(',', $sqlValue))) {
  139.                 die('There was an error running the query [' . $_SERVER["db"]->error . ']');
  140.             }
  141.         }
  142.  
  143.     }
  144.     echo $count . " byPacket : " . diffTimeToMs("byPacket", microtime(true)) . " s\n";
  145. }
  146.  
  147. function longWays($count)
  148. {
  149.     $db = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
  150.  
  151.     startTime("longWays");
  152.     for ($i = 0; $i < $count; $i++) {
  153.         $data = array(
  154.             "name" => generateRandomString(10),
  155.             "address" => generateRandomString(10),
  156.             "type" => rand(0, 10),
  157.             "email" => generateRandomEmail(),
  158.             "deleted" => rand(0, 1)
  159.         );
  160.         $sql = "INSERT INTO dev_iut.test(name, address, type, email, deleted)
  161.                             VALUES (\"" . addslashes($data["name"]) . "\", \""
  162.             . addslashes($data["address"]) . "\", \""
  163.             . $data["type"] . "\", \""
  164.             . $data["deleted"] . "\", \""
  165.             . addslashes($data["email"]) .
  166.             "\")\n";
  167.         if (!$result = $db->query($sql)) {
  168.             die('There was an error running the query [' . $db->error . ']');
  169.         }
  170.     }
  171.     echo $count . " longWays : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
  172. }
  173.  
  174. function randomData($count)
  175. {
  176.     startTime("longWays");
  177.     for ($i = 0; $i < $count; $i++) {
  178.         $data = array(
  179.             "name" => generateRandomString(10),
  180.             "address" => generateRandomString(10),
  181.             "type" => rand(0, 10),
  182.             "email" => generateRandomEmail(),
  183.             "deleted" => rand(0, 1)
  184.         );
  185.         $sql = "INSERT INTO dev_iut.test(name, address, type, email, deleted)
  186.                             VALUES (\"" . addslashes($data["name"]) . "\", \""
  187.             . addslashes($data["address"]) . "\", \""
  188.             . $data["type"] . "\", \""
  189.             . $data["deleted"] . "\", \""
  190.             . addslashes($data["email"]) .
  191.             "\")";
  192.     }
  193.     echo "DATA_TYPE = ".json_encode(array(
  194.         "name" => generateRandomString(10),
  195.         "address" => generateRandomString(10),
  196.         "type" => rand(0, 10),
  197.         "email" => generateRandomEmail(),
  198.         "deleted" => rand(0, 1)
  199.     ));
  200.     echo $count . " randomData : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
  201. }
  202.  
  203. //longWays(1000);
  204. //byPacket(1000, 50);
  205. byFile(1000);
  206. randomData(10000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement