Идеята е да се създадат и изпратят множество request-и едновременно и да се тества даден хост ще успее ли да ги обработи и ако да за колко време.
[Проект] Stress tester
Какви request-и? По някакъв начин ще се описва в конфизи? Или ще е само за един протокол (да кажем HTTP)?
Дай малко повече обяснение какво значи "ще успее ли да ги обработи". Необработен ли е такъв, който се е забавил 15 минути? Ще тестваш ли сървъри, чийто задачи не са request-response (като тези компютърните игри)?
Какъв ще е резултата, който ти показва теста? "Работи" и "Не работи"?
Общо взето - обясни повече. Ако те разбирам правилно и идеята ти е да направиш нещо, което прави Х http заявки и казва колко време са отнели - не съм съгласен. Това се пише за един час и няма голяма полза от него.
Предполагам колегата иска да направи нещо като това:
Offtopic: Използвайки горното: https://github.com/golang/go/issues/6785
Идеята ми беше типа на заявките и съдържанието им да бъдат прочитани от някъде (най-вероятно от някакъв предварително зададен файл).
Ще се генерира min/max/avg статистика на времето за определено натоварване (брой request-и).
Request-ите могат и да не бъдат еднакви за даден тест, а да се избират на рандом измежду дадени (примерно).
Типа на request-ите е http.
Ще има по зададени min/max/avg времена да се определи максималния брой request-и.
Ако смятате, че това не е достатъчно ще измисля нещо друго не е проблем.
Имах идея и SOCKS proxy server, но видях, че има такъв вече в github (не че това го няма де).
Ако SOCKS proxy server е ок като тема бих го предпочел пред това.
Ако не ще мисля още :)Аз съм ок да направиш нещо подобно на https://github.com/wg/wrk, но това означава, че трябва да имаш някакъв вариант на scripting в stress tester-а, иначе наистина е относително лесна задача. В горния проект ползват lua, не знам какво е качеството на lua интеграцията в go, може и да е ок. Ето какво успях да намеря:
- https://github.com/aarzilli/golua
- https://github.com/akavel/goluago
- https://github.com/stevedonovan/luar
- и разни други не-lua неща: https://www.reddit.com/r/golang/comments/2a28a4/embedding_python_or_other_scripting_language_in/
Като гледам има доста написани на Go SOCKS proxies:
Това означава ли, че не мога да направя SOCKS proxy като проект?
Да, не го одобрявам като проект, освен ако не кажеш с какво твойто proxy ще е по-добро от всичките съществуващи до момента.
С нищо най-вероятно :). Ок ще гледам да направя стрес тестъра, като вкарам някакъв по-интерактивен елемент, като ще видя какво са направили в проектите, които постнахте. Ако това е ок ще гледам да го направя. Ако смятате, че не е достатъчно съм отворен за идеи :)
Достатъчно е :)
Трябва да сте влезли в системата, за да може да отговаряте на теми.