Code review

69 views
Skip to first unread message

Артём Семёнов

unread,
May 12, 2011, 5:12:07 PM5/12/11
to golang-...@googlegroups.com
А не начать ли нам с code review небольшой полезной утилитки:
http://hg.piranha.org.ua/gofigure/file/tip/ ? В отличие от ab, оно
вроде бы работает.

Alexander Solovyov

unread,
May 12, 2011, 5:14:15 PM5/12/11
to golang-...@googlegroups.com
2011/5/12 Артём Семёнов <sev...@gmail.com>:

> А не начать ли нам с code review небольшой полезной утилитки:
> http://hg.piranha.org.ua/gofigure/file/tip/ ? В отличие от ab, оно
> вроде бы работает.

Oh shi~~, не успел сам написать. :) Идея в том, что всякие httperf мне
регулярно взрывают мозг на тему того, как и чего они там нагружают, а
аб регулярно фейлит:

http://paste.in.ua/2343/

Это на Tornado такое.

Если у кого-то есть время/желание, код-ревью был бы клëв, потому что я
смотрю на код и не уверен, что всë нормально. :)

--
Alexander

Andrey Popp

unread,
May 12, 2011, 5:36:45 PM5/12/11
to golang-...@googlegroups.com
On May 13, 2011, at 1:14 AM, Alexander Solovyov wrote:
> 2011/5/12 Артём Семёнов <sev...@gmail.com>:
>> А не начать ли нам с code review небольшой полезной утилитки:
>> http://hg.piranha.org.ua/gofigure/file/tip/ ? В отличие от ab, оно
>> вроде бы работает.
>
> Oh shi~~, не успел сам написать. :) Идея в том, что всякие httperf мне
> регулярно взрывают мозг на тему того, как и чего они там нагружают, а
> аб регулярно фейлит:

Меня вроде httperf устраивает... есть ещё tsung[1], кстати.

[1]: http://tsung.erlang-projects.org/

Alexander Solovyov

unread,
May 13, 2011, 3:21:15 AM5/13/11
to golang-...@googlegroups.com
2011/5/12 Andrey Popp <8ma...@gmail.com>:

Да, про тсунг я знаю, но он хочет ерланг, которого у меня нигде нет (и
не хочется), и он еще напряжней хттперфа.

А с httperf я испытываю серьëзные проблемы с пониманием, что такое
num-calls/num-conns (это явно придумал человек, не знакомый с понятием
наименьшего сюрприза), и каждый раз приходится тупить, втыкая на его
вывод:

http://paste.in.ua/2351/

Например, хттперф говорит, что

Connection rate: 201.8 conn/s (5.0 ms/conn, <=1 concurrent connections)

Т.е. он тратил 5 секунд на каждый коннекшен? 5*1000/100 = 50 ms, тогда
какого перца

CPU time [s]: user 0.92 system 4.02 (user 18.7% system 81.0% total 99.7%)

он почти секунду потратил?

Я реально каждый раз втыкаю и не понимаю, что происходит. Т.е.
очевидно, что меряется не реальная скорость, а попугаи какие-то, и
моей тулзой, и хттперфом (в какой-то степени, конечно - я думаю, что
хттперф лучше), но простые попугаи мне понятнее. В общем, я хотел ab,
который не фейлится на половине серверов. %)

--
Alexander

Alexander Solovyov

unread,
May 13, 2011, 3:29:30 AM5/13/11
to golang-...@googlegroups.com
2011/5/13 Alexander Solovyov <alex...@solovyov.net>:

> http://paste.in.ua/2351/
>
> Например, хттперф говорит, что
>
> Connection rate: 201.8 conn/s (5.0 ms/conn, <=1 concurrent connections)
>
> Т.е. он тратил 5 секунд на каждый коннекшен? 5*1000/100 = 50 ms, тогда

Тут я имел в виду 5 мс, конечно.

> какого перца
>
> CPU time [s]: user 0.92 system 4.02 (user 18.7% system 81.0% total 99.7%)
>
> он почти секунду потратил?

5 секунд! Мне надо бы научиться читать. Почему так долго?! Серьëзно, я
как-то реально каждый раз втыкаю на его вывод и думаю - ладно, потом
раздуплюсь. Если мне кто-то объяснит его, я буду доволен, но я лучше
напишу еще раз всë заново с понятным выводом, чем буду пользоваться
тулзой, которая заставляет так много думать.

--
Alexander

Alexander Solovyov

unread,
May 13, 2011, 3:38:47 AM5/13/11
to golang-...@googlegroups.com
2011/5/13 Alexander Solovyov <alex...@solovyov.net>:
> http://paste.in.ua/2351/

Почитал хелп. Я сделал херню. Как сделать не херню - не понял. :(

--
Alexander

Alexander Solovyov

unread,
Aug 31, 2011, 10:22:07 AM8/31/11
to golang-...@googlegroups.com
2011/5/12 Артём Семёнов <sev...@gmail.com>:

> А не начать ли нам с code review небольшой полезной утилитки:
> http://hg.piranha.org.ua/gofigure/file/tip/ ? В отличие от ab, оно
> вроде бы работает.

Короче, вдруг кому будет интересно. Ко мне пришло просветление (я
надеюсь, не уверен), в том числе и от статьи одной [1], и я переделал
внутренности. Не то чтоб утилита всем будет полезна, но теперь
ограничение кол-ва потоков сделано не через жопу, а идиоматически
(вроде бы) и всë такое.

Вот собственно главное изменение:

http://hg.piranha.org.ua/gofigure/rev/eb9866b9ec2c

--
Alexander

Alexander Solovyov

unread,
Aug 31, 2011, 10:22:34 AM8/31/11
to golang-...@googlegroups.com
2011/8/31 Alexander Solovyov <alex...@solovyov.net>:

> надеюсь, не уверен), в том числе и от статьи одной [1], и я переделал

Клëвая статья, да? А вот и ссылка:

http://www.mprescient.com/journal/2011/1/9/concurrency-in-go-a-call-center-tutorial.html

--
Alexander

Reply all
Reply to author
Forward
0 new messages