У нас есть почтовый сервер, построенный на основе распределенной файловой системы Gluster. Хотя это оказалось довольно простым в настройке и довольно стабильным, производительность нашей веб-почты была довольно низкой. Итак, теперь я могу настроить производительность базовой файловой системы (что почти наверняка является причиной медлительности - это было молниеносно, когда наша почта хранилась в локальной файловой системе).
Проблема начинается с того, что я не знаю, как на самом деле измерить, насколько быстро IMAP извлекает отдельные сообщения. Без этой метрики я не могу определить, какие переменные настройки нам помогают. Более того, похоже, что кеширование с IMAP не работает. Если я попытаюсь снова получить то же сообщение, это займет как минимум столько же времени, сколько в первый раз. Используя ls
или du
Команда в самой файловой системе кэширует результаты, и последующие запросы выполняются намного быстрее, чем первые. Так что выбор времени для получения этих результатов мне не очень поможет.
Любая помощь будет оценена.
Если вы хотите измерить производительность своего сервера IMAP, лучше всего найти или создать инструмент для тестирования производительности IMAP. Загрузите кучу сообщений, а затем запустите набор тестов для одной или нескольких учетных записей пользователей. Например:
Время каждой отдельной операции, чтобы вы могли идентифицировать горячие точки. И чем ближе вы моделируете выполняемые тесты к тому, что делают ваши пользователи, тем лучше. Например, если ваша рабочая нагрузка сильно ориентирована на получение сообщений, а не столько на сохранение новых сообщений, то ваш набор тестов должен это отразить.
Возможно, вам удастся найти существующий инструмент, но если нет, есть несколько хороших API IMAP. Выберите язык, который вам нравится, выберите API и создайте себе инструмент.
-Рик