сколько параллельных HTTP-запросов может обработать - PullRequest
6 голосов
/ 19 апреля 2010

Я занимаюсь разработкой приложения для целей бенчмаркинга, для которого мне нужно создать большое количество http-соединений за короткое время, я создал программу на java, чтобы проверить, сколько потоков способен создать java, оказывается в моем Одноядерный компьютер объемом 2 ГБ, предел варьируется между 5000 и 6000, при этом 1 ГБ памяти отводится JVM, после чего он выходит из ошибки памяти с достигнутым пределом кучи.

Предполагается, что erlang сможет генерировать гораздо больше параллельных процессов, я готов изучить erlang, если он способен решить проблему, может ли erlang генерировать где-то около 100000 процессов, которые по сути являются http-запросами, ожидающими ответы, в течение нескольких секунд без достижения каких-либо ограничений, таких как ошибка памяти и т. д.,

Ответы [ 4 ]

3 голосов
/ 20 апреля 2010

По словам известного Ричарда Джонса blog , вы можете обрабатывать 100 тыс. Соединений практически из коробки. Вам нужно увеличить лимит процесса, см. Параметр +P, и для этого требуется немного хитрости в управлении памятью, например gc или hibernate. Чтобы добиться значительно большего, вам нужно больше взломать с помощью C.

1 голос
/ 21 апреля 2010

Как уже говорилось, многое является хорошим ответом. А также, учитывая, что вы должны написать клиент цунами, вы можете / должны распространять код на несколько узлов erlang.

Еще лучше, вы можете проверить Цунг . Это приложение для распределенного нагрузочного тестирования, написанное на erlang.

И если вы не хотите его использовать, я почти уверен, что там есть код, который вы хотите прочитать.

1 голос
/ 20 апреля 2010

Мне показалось интересным, что парень смог получить миллион кометных связей с mochiweb http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1

1 голос
/ 19 апреля 2010

Он может справиться практически со всем, что вы бросаете в него. Процессы Эрланга чрезвычайно легки.

См. http://www.sics.se/~joe/apachevsyaws.html для сравнения в параллельности между Yaws и Apache Это дает вам хорошее представление о том, что возможно.

...