πως να προσομοιάσω 100 χρήστες

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1851
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από sibas » 25 Φεβ 2017 13:02

Γεια χαρά

Για μια ιστοσελίδα που φτίαχνω πρέπει να κάνω μια προσομοίωση για 100++ χρήστες
και χρείαζομαι να στείλω κάποια fake headers + fake ip

δηλ
GET / HTTP/1.1
Host: localhost:127.0.0.1
User-Agent: Mozilla/5.0
Origin: http ://example.com
[...]

και διαφορετική fake ip

κάποια ιδέα πως να το κάνω?

sibas
Honorary Member
Δημοσιεύσεις: 1851
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από sibas » 25 Φεβ 2017 14:00

Ασφαλώς πάντα βιάζομαι, curl έλυσε το πρόβλημα μου :--)


sibas
Honorary Member
Δημοσιεύσεις: 1851
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από sibas » 26 Φεβ 2017 09:40

ναι, βρήκα ένα php server για websockets και πρέπει να προσομοιάσω 100 συνδέσεις για να δώ αν μου κάνει :)

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 696
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από webdevgr » 26 Φεβ 2017 12:13

Υπάρχει το loader.io αλλά το free πακέτο δεν σε αφήνει να κάνεις και πολλά.

Οπότε στήνεις και δοκιμάσεις το artillery.io ή το jmeter.apache.org

sibas
Honorary Member
Δημοσιεύσεις: 1851
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από sibas » 26 Φεβ 2017 15:54

Σε ευχαριστώ webdevgr αλλά δεν μου κάνει :)

δοκιμάζω κάτι τέτοιο αλλά έχω θέμα στο [request_header] => GET λόγου localhost

Κώδικας: Επιλογή όλων

$process = curl_init();
curl_setopt($process, CURLOPT_URL, "http://127.0.0.1/TestCliend1/1");
//curl_setopt($process, CURLOPT_HTTPGET, 1);
curl_setopt($process, CURLOPT_HTTPHEADER, array(

'User-Agent: TestCliend1',
'Sec-WebSocket-Version: 13',
'Origin: http://127.0.0.1',
'Sec-WebSocket-Extensions: permessage-deflate',
'Sec-WebSocket-Key: p7lAJo+tsMZMMw2t4ITBkg==',
'Connection: keep-alive, Upgrade',
'Pragma: no-cache',
'Cache-Control: no-cache',
'Upgrade: websocket',
'HTTP_X_FORWARDED_FOR: '.$_SERVER['REMOTE_ADDR']
));

curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLINFO_HEADER_OUT, true);

//curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($process);
$info = curl_getinfo($process);
echo '<pre>';
print_r&#40;$info&#41;;
echo '</pre>';
curl_close&#40;$process&#41;;
αποτέλεσμα
Array
(
[url] => http://127.0.0.1/TestCliend1/1 <-- Πρέπει να βρω το 1
[content_type] => text/html; charset=utf-8
[http_code] => 404
[header_size] => 325
[request_size] => 368
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.016
[namelookup_time] => 0
[connect_time] => 0.016
[pretransfer_time] => 0.016
[size_upload] => 0
[size_download] => 1053
[speed_download] => 65812
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0.016
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 127.0.0.1
[certinfo] => Array
(
)

[primary_port] => 80
[local_ip] => 127.0.0.1
[local_port] => 49481
[request_header] => GET /TestCliend1/1 HTTP/1.1 <-- Το πρόβλημα είναι εδώ!!!
Host: 127.0.0.1
Accept: */*
User-Agent: TestCliend1
Sec-WebSocket-Version: 13
Origin: http://127.0.0.1
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: p7lAJo+tsMZMMw2t4ITBkg==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
HTTP_X_FORWARDED_FOR: 127.0.0.1
)
κάποια ιδέα πως να το κάνω να λειτουργήσει και το [request_header] να μου γυρίσει GET /1 αντί για το GET /TestCliend1/1 ???

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

πως να προσομοιάσω 100 χρήστες

Δημοσίευση από ailouros » 03 Μαρ 2017 22:35

Χρειάζεσαι asynchronous connections. Δεν ξέρω αν η php υποστηρίζει κάτι τέτοιο. Ρώτα στο αντίστοιχο thread. Με asynchronous μπορείς να ανοίξεις εκατό, τριακόσιες, πεντακόσιες συνδέσεις ταυτόχρονα. Ο μόνος περιορισμός τίθεται από το framework ή αν γράψεις πολύ εξειδικευμένο κώδικα.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες