Есть ли способ определить, сколько потоков может содержать конкретную комбинацию JVM + Application Server? Речь идет не только о обслуживании потоков веб-приложений, но и о фоновых потоках.Ограничение нити сервера JVM/Aplication
ответ
Для всех практических целей это ситуационное, оно действительно «зависит».
- какие темы занимаются?
- сколько памяти им нужно?
- Сколько собирает сбор мусора?
- Сколько у вас памяти?
- Сколько у вас ЦП?
- Насколько они быстры?
Приложения приложений Java EE App Server, как правило, не создают самих потоков. Скорее вы настраиваете пулы потоков. Я никогда не был в ситуации, когда возможность создания еще 10 потоков решала бы проблему, и некоторые ограничения на сервер приложений не позволяли мне это делать.
Выполнение сопоставлений производительности между различными серверами приложений очень нетривиально, и ответы имеют тенденцию к хрупкости - т.е. небольшие изменения в типе работы могут давать разные ответы.
Почему вы задаете вопрос?
Это действительно не то, что вы можете узнать исключительно с Java VM. Это скорее ограничение оборудования/ОС, чем что-либо конкретное для виртуальной машины. Лучший способ узнать этот ответ - проверить с большим количеством потоков и посмотреть, где вы начинаете видеть падение производительности. См. Также this devx discussion.
Спасибо. Ссылка была полезна. –
Это действительно зависит от конкретного оборудования, в котором вы работаете (количество процессоров, объем памяти и т. Д.), А также зависит от ОС (Solaris vs. Windows), поскольку базовая потоковая передача зависит от OS- обеспечил управление потоками. Это также зависит от самого приложения и сервера приложений, поскольку количество ресурсов, потребляемых каждым потоком, зависит от приложения.
- 1. Ограничение промежуточного сервера
- 2. Длинные опросы Убить нити на стороне сервера
- 3. Есть ли ограничение на использование BitmapImage (или других классов пространства имен UI) в нити-нити UI?
- 4. SQL регулярное выражение сервера ограничение
- 5. SQL проверка сервера ограничение логика
- 6. Ограничение базы данных сервера Mysql
- 7. Ограничение времени для «фоновой нити» в Google App Engine
- 8. нити
- 9. Вызов не класс нити от нити
- 10. Настройка простаивающей нити/сигнальной нити
- 11. Tomcat нити против Java нити
- 12. Проблема синхронизации нити C++
- 13. Создание небольшого файлового сервера Java, ограничение пробелов
- 14. Ограничение подключения HTTP Tomcat для сервера Apache
- 15. Клон hg: ограничение загрузки сервера IIS
- 16. завиток или ограничение по времени сервера?
- 17. Как создать ограничение htaccess сервера узла?
- 18. Ограничение размера загрузки сервера, но не php.ini
- 19. Размер поля заголовка запроса превышает ограничение сервера
- 20. Размер поля заголовка запроса превышает ограничение сервера
- 21. Непрерывный запуск потока нисходящей нити java-сервера при втором запуске
- 22. Правильная обработка серверной нити
- 23. эффективный подход в использовании нити/нити наддува
- 24. Упреждающие нити Vs Не превентивные нити
- 25. Обратный вызов основной нити при завершении нити
- 26. избирательного прекращения нити из родительской нити/программа
- 27. Идентичность нити
- 28. Массив Нити
- 29. Внутри нити
- 30. Queue нити
Причина, по которой я прошу, beacuase, я хочу сделать некоторую асинхронную обработку внутри веб-сервисов. Исходный запрос, конечно же, будет обслуживаться потоком из пула потоков, определенного сервером приложений, но затем этот поток порождает, скажем, 5 дополнительных потоков для выполнения работы. Таким образом, общее количество потоков, которые потенциально может иметь сервер, - количество потоков обслуживания запросов * количество рабочих потоков на запрос + определенное количество фоновых потоков. Это число может быть довольно большим. Мне просто интересно, как JVM может вести себя в таком сценарии, прежде чем я что-то реализую :). –
1) Темы обрабатывают запросы веб-сервисов и внутренне обращаются к базе данных и другим веб-службам 2 + 3) Сегодня с последовательной обработкой они тратят 5-6 МБ/запрос 4) Имеющаяся память: 2 ГБ 5) 1 CPU 6) зависит на обратном отклике системы –
Многие серверы приложений имеют архивированные способы разрешить некоторый способ нереста дополнительных рабочих потоков контролируемым образом, асинхронные очереди заданий и т. д. Используя их, вы сможете получить баланс между нормальными потоками обслуживания и дополнительными рабочими потоками , Вполне возможно, что если веб-служба выполняет очень тяжелую работу, и операционная пара «submitJob, getJobResult» может работать хорошо. – djna