Иногда всает необходимость посмотреть, как реагирует хост на множественные запросы, как работает pagination, как индексирует база данных ну и так далее.
То есть необходимо заполнить базу какими нибудь фейковыми значениями. Конечно же можно использовать Selenium, но можно немножко погенерировать данные с помощью JS.
Вариант 1.
Этот вариант плох тем, что начинает DOS на сервер. То есть просто посылается ряд запросов, независимо, успешно вставились данные или нет.
Немножко подправим, добавим callback. И вместо setInterval сделаем все это дело рекурсивным.
Вариант 2.
Ну вот. Теперь можно залогинтиься, открыть файрбаг , запустить скрипт, и спойно отправиться спать. На утро миллион тестовых записей и можно строить performance reports.
Вместо "sql_insert_new_client.php" должен быть URL регистрации, поста сообщения, и вообще всего чего угодно. GET легко менятся на POST, а набор data специфичен для каждого случая.
Данный пример ни в коем случае не является руководством к DOS, и рукомендуется использовать это без TOR и только для performance testing.
То есть необходимо заполнить базу какими нибудь фейковыми значениями. Конечно же можно использовать Selenium, но можно немножко погенерировать данные с помощью JS.
Вариант 1.
setInterval(function(){ var n="";for(i=0;i<150;i++){n+= Math.random().toString(36).substr(2);} var data={'client_name':n,'client_phone':n,'client_address':n,'client_email':n}; var jqxhr=jQuery.get("/crm/sql/sql_insert_new_client.php",data);console.log(n); },500);
Этот вариант плох тем, что начинает DOS на сервер. То есть просто посылается ряд запросов, независимо, успешно вставились данные или нет.
Немножко подправим, добавим callback. И вместо setInterval сделаем все это дело рекурсивным.
Вариант 2.
(function AddCustomer($) { var n="";for(i=0;i<150;i++){n+= Math.random().toString(36).substr(2);} var data={'client_name':n,'client_phone':n,'client_address':n,'client_email':n}; var jqxhr=$.get("/crm/sql/sql_insert_new_client.php",data,function(){console.log("[success] Send: "+n);}) .success(function(){console.log("[success] Done.");}) .error(function(){console.log("[error] Try Again.");AddCustomer($);}) .complete(function(){console.log("[complete] Send Again.");AddCustomer($);}); })(jQuery);
Ну вот. Теперь можно залогинтиься, открыть файрбаг , запустить скрипт, и спойно отправиться спать. На утро миллион тестовых записей и можно строить performance reports.
Вместо "sql_insert_new_client.php" должен быть URL регистрации, поста сообщения, и вообще всего чего угодно. GET легко менятся на POST, а набор data специфичен для каждого случая.
Данный пример ни в коем случае не является руководством к DOS, и рукомендуется использовать это без TOR и только для performance testing.