![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Оптимизация производительности Delphi-приложений после перехода на Windows 2008 и IIS7Delphi , Интернет и Сети , CGI и CookiesПереход на новые версии операционных систем и серверного ПО может быть связан с рядом сложностей, особенно если приложение написано с использованием устаревших технологий. В данном случае, компания столкнулась с проблемами производительности после перехода с Windows 2003 и IIS6 на Windows 2008 и IIS7. Приложение, написанное на Delphi 7 в виде CGI-модулей и использующее базу данных в формате DBF, показало снижение производительности на новом сервере. Описание проблемыСервер был обновлён с Windows 2003 Web SP2 на Windows 2008 Web R2, что включало переход с IIS6 на IIS7. Приложение, использующее Delphi 7 для CGI-модулей и базу данных на основе DBF-файлов, неожиданно стало работать медленнее на новом, более мощном оборудовании. Несмотря на увеличение объёма оперативной памяти и использования более быстрых процессоров, запросы стали выполняться в два раза дольше. Диагностика проблемыПопытки оптимизации, такие как включение поддержки 32-битных приложений в пуле приложений, создание веб-сада с четырьмя рабочими процессами и запуск нескольких CPU-интенсивных CGI, не привели к улучшению производительности. Рабочие процессы использовали лишь небольшую часть доступных ресурсов. Подтверждённый ответПосле тщательного тестирования было выявлено, что ограничение в том, как IIS обрабатывает CGI-скрипты, возможно, связано с дисковыми операциями и дополнительными проверками безопасности. Запуск консольных приложений, выполняющих те же операции с базой данных, показал схожие времена выполнения. Однако установка нового сервера с Windows 2003 Standard Edition вместо Windows 2008 Web R2 привела к улучшению производительности. Windows 2003 Standard Edition позволяет использовать все четыре ядра и 4 ГБ оперативной памяти, в отличие от Windows 2003 Web Edition. IIS6 на Windows 2003 не накладывает ограничений на CGI-скрипты, как IIS7. В результате, время выполнения одного CGI снизилось на 30% по сравнению с новым сервером на Windows 2008 и стало лучше, чем на старом сервере. Кроме того, использование всех четырех ядер позволило обрабатывать удвоенное количество одновременных CGI-запросов. Альтернативный ответАльтернативным решением могло бы быть обновление жёстких дисков с RAID-1 SATA до SSD, что могло бы уменьшить время доступа к диску. Однако, учитывая ограниченный бюджет, такой вариант был исключён. Выводы для оптимизации производительности
Примеры кодаВ данной ситуации примеры кода не требуются, так как проблема была решена на уровне системного администрирования и не требовала изменений в коде приложения. Примечание: В статье использованы технические термины и спецификации, относящиеся к Object Pascal (Delphi) и средам выполнения приложений, таким как Windows Server и IIS. Примеры кода не были предоставлены, так как проблема была связана с конфигурацией сервера, а не с программированием на Delphi. Компания сталкивается с проблемами производительности своего Delphi-приложения после перехода на новую версию Windows и IIS, что требует оптимизации и возможного обновления технологий. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: CGI и Cookies ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |