Model | Token Limits | Request and Other Limits | Batch Queue Limits |
---|---|---|---|
Chat | |||
gpt-3.5-turbo | 200,000 TPM | 500 RPM, 10,000 RPD | 2,000,000 TPD |
gpt-3.5-turbo-0125 | 200,000 TPM | 500 RPM, 10,000 RPD | 2,000,000 TPD |
gpt-3.5-turbo-1106 | 200,000 TPM | 500 RPM, 10,000 RPD | 2,000,000 TPD |
gpt-3.5-turbo-16k | 200,000 TPM | 500 RPM, 10,000 RPD | 2,000,000 TPD |
gpt-3.5-turbo-instruct | 90,000 TPM | 3,500 RPM | 200,000 TPD |
gpt-4 | 10,000 TPM | 500 RPM, 10,000 RPD | 100,000 TPD |
Text | |||
babbage-002 | 250,000 TPM | 3,000 RPM | |
chatgpt-4o-latest | 500,000 TPM | 200 RPM | |
text-embedding-3-large | 1,000,000 TPM | 3,000 RPM | 3,000,000 TPD |
Realtime | |||
gpt-4o-mini-realtime-preview | 40,000 TPM | 200 RPM, 1,000 RPD | |
Moderation | |||
omni-moderation-2024-09-26 | 10,000 TPM | 500 RPM, 10,000 RPD | |
Fine-Tuning Inference | |||
gpt-3.5-turbo-0125 | 200,000 | 500 | |
Image | |||
dall-e-3 | 500 RPM, 5 images per minute | ||
Audio | |||
whisper-1 | 500 RPM | ||
Other | |||
Default limits for all other models | 250,000 TPM | 3,000 RPM |
по традиции, смотрю как с этим вопросом справится ИИ, как мне нравится эта новая технология, из-за которой, лет через 30 вся наша цивилизация либо станет мегакрутой либо скатится до средневековья
1. **Медленные операции:**
- Множественные последовательные сканы (Seq Scan) таблиц
- Внешняя сортировка на диске (Sort Method: external merge Disk: 40712kB)
- Большое количество строк в Hash Join (Rows Removed by Join Filter: 1780996)
- Nested Loop с большим количеством итераций (loops=2581431)
2. **Узкие места:**
- Hash Join отфильтровывает много строк после соединения (1,780,996 строк)
- Nested Loop выполняется более 2.5 миллионов раз
- Внешняя сортировка использует дисковое пространство
- Общее время выполнения около 393 секунд
Рекомендации по оптимизации:
1. **Индексы:**
- Создать составной индекс для table_a по (old_id, update_at)
- Проверить необходимость индексов на supplier_id в table_b
- Добавить индекс на seller_id в table_c
2. **Структура запроса:**
- Рассмотреть возможность переписать условие Join Filter для уменьшения количества отфильтрованных строк
- Попробовать использовать подзапросы вместо JOIN там, где это возможно
- Рассмотреть возможность материализации промежуточных результатов
3. **Оптимизация данных:**
- Проанализировать необходимость обработки такого большого количества строк
- Рассмотреть возможность партиционирования больших таблиц
- Убедиться, что статистика таблиц актуальна (ANALYZE)
4. **Настройки PostgreSQL:**
- Увеличить work_mem для избежания внешней сортировки
- Проверить и возможно увеличить maintenance_work_mem
- Настроить effective_cache_size в соответствии с доступной памятью
5. **Денормализация:**
- Рассмотреть возможность денормализации данных для уменьшения количества JOIN операций
Без самого SQL запроса сложно дать более конкретные рекомендации, но эти общие принципы должны помочь улучшить производительность.