В качестве части моего веб-приложения я использую javax.imageio.ImageIO для чтения/записи BufferedImage. Изначально приложение было запущено на Tomcat 7, и он работал довольно быстро. Поскольку я развернул свое приложение до , WebSphere 8.5.5 производительность чтения/записи значительно уменьшилась (в несколько раз медленнее).ImageIO.read/write slow in Websphere 8.5.5
Сначала я думал, что ImageIO плохо работает на WebSphere из-за JVM от IBM, поэтому я настроил Tomcat на использование IBM Java, и снова он стал намного лучше, чем в WebSphere. С Tomcat она занимает около 2.5secs и WebSphere12secs для чтения, обработки и записи изображения (размер ~ = 200KB).
Есть ли определенная конфигурация JVM IBM, которую я могу использовать для ускорения чтения изображений?
Вот выдержка из кода я использую:
// srcImagePath & dstImagePath are both pointing
// to the location outside app servers
BufferedImage image = ImageIO.read(new File(srcImagePath));
// here I am only resizing image using com.twelvemonkeys.image.ResampleOp
// from twelvemonkeys library
BufferedImage destImage = resizeImage(image);
ImageIO.write(destImage, "jpg", dstImagePath);
Здесь конфигурация виртуальной машины Java я использовал (изменен):
Tomcat 7.0.50: -Xms512m -Xmx1024m -XX : PermSize = 128m -XX: MaxPermSize = 512m
WebSphere 8.5.5: Начальный размер кучи 512m, Максимальный размер кучи: 1280m
IBM Java 1.7_64
Windows 7
Есть ли конфигурация WebSphere Я не в курсе, что может ускорить обработку?
Если у вас нет уже сделали это, вы можете попробовать подключить профилировщик к вашему процессу WebSphere и посмотреть, где потрачено время. Разница довольно удивительная ... – haraldK
Я проверю это, thanx для комментариев! – Igor