---
title: "Performance Issues"
manual: "RTE CKEditor Image"
version: "main"
permalink: "https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:troubleshooting-performance-issues@main"
source: "Troubleshooting/Performance-Issues.rst"
rendered: "2026-10-01T01:27:51+00:00"
---

# Performance Issues {#troubleshooting-performance-issues}

Solutions for performance problems, slow loading, and optimization strategies.

**Table of Contents**

-   [Editor Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:editor-performance@main)
-   [Frontend Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:frontend-performance@main)
-   [Image Processing Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:image-processing-performance@main)
-   [Database Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:database-performance@main)
-   [Cache Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:cache-performance@main)
-   [Network Performance](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:network-performance@main)
-   [Monitoring and Profiling](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:monitoring-and-profiling@main)
-   [Optimization Best Practices](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:optimization-best-practices@main)
-   [Related Documentation](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:related-documentation@main)
-   [Getting Help](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:getting-help@main)

## Editor Performance {#editor-performance}

### Issue: Slow Editor Loading {#issue-slow-editor-loading}

**Symptoms:**

-   CKEditor takes long time to initialize
-   Image browser slow to open

**Causes:**

1.  Large number of files in file browser
1.  Unoptimized image processing settings
1.  Network latency
1.  Browser resource constraints

**Solutions:**

1.  **Optimize Image Processing:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['jpg_quality'] = 85;
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_effects'] = false;  // If not needed
```

1.  **Reduce Maximum Dimensions:**

```typoscript
RTE.default.buttons.image.options.magic {
    maxWidth = 1200  # Instead of 1920
    maxHeight = 800  # Instead of 9999
}
```

1.  **Limit File Browser Results:**

Configure file mounts to show only relevant directories:

```typoscript
# User TSConfig
options.folderTree.uploadFieldsInLinkBrowser = 0
options.pageTree.showPageIdWithTitle = 0
```

> [!TIP]
> Reducing maximum dimensions can significantly improve editor performance.

---

### Issue: Image Selection Dialog Slow {#issue-image-selection-dialog-slow}

**Symptoms:**

-   Modal takes long time to open
-   Thumbnails load slowly
-   Browser becomes unresponsive

**Causes:**

1.  Too many files in directory
1.  Large unprocessed images
1.  Missing thumbnail cache

**Solutions:**

1.  **Organize Files into Subdirectories:**

    -   Group images by category
    -   Use year/month folder structure
    -   Keep directories under 100 files
1.  **Pre-generate Thumbnails:**

```bash
# Generate missing thumbnails
./vendor/bin/typo3 cleanup:missingfiles
./vendor/bin/typo3 cleanup:previewlinks
```

1.  **Optimize File Storage:**

```typoscript
# Limit file selection to specific folders
options.defaultUploadFolder = 1:fileadmin/user_upload/
```

---

## Frontend Performance {#frontend-performance}

### Issue: Slow Page Load Due to Images {#issue-slow-page-load-due-to-images}

**Symptoms:**

-   Pages load slowly
-   Large images not processed
-   High bandwidth usage

**Causes:**

1.  Original large images served instead of processed versions
1.  No image compression
1.  Missing lazy loading
1.  Too many images on page

**Solutions:**

1.  **Enable Image Processing:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['GFX'] = [
    'processor_enabled' => true,
    'processor' => 'ImageMagick',
    'jpg_quality' => 85,
];
```

1.  **Configure Reasonable Maximum Dimensions:**

```typoscript
RTE.default.buttons.image.options.magic {
    maxWidth = 1920
    maxHeight = 1080
}
```

1.  **Implement Lazy Loading:**

```typoscript
lib.parseFunc_RTE.tags.img {
    current = 1
    preUserFunc = Netresearch\RteCKEditorImage\Controller\ImageRenderingAdapter->renderImageAttributes
    stdWrap.replacement {
        10 {
            search = <img
            replace = <img loading="lazy"
        }
    }
}
```

1.  **Enable Browser Caching:**

```apache
# .htaccess
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
</IfModule>
```

---

### Issue: Excessive Bandwidth Usage {#issue-excessive-bandwidth-usage}

**Symptoms:**

-   High server bandwidth consumption
-   Slow site on mobile devices
-   Large page sizes

**Solutions:**

1.  **Use WebP Format:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_allowUpscaling'] = false;
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_stripColorProfileByDefault'] = true;
```

1.  **Implement Progressive JPEG:**

```php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_interlace'] = true;
```

1.  **Compress Images:**

```php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['jpg_quality'] = 80;
```

---

## Image Processing Performance {#image-processing-performance}

### Issue: Image Processing Timeouts {#issue-image-processing-timeouts}

**Symptoms:**

-   500 errors when uploading images
-   Processing hangs
-   Timeouts in backend

**Causes:**

1.  Insufficient PHP memory
1.  Low execution time limits
1.  Slow image processor
1.  Very large source images

**Solutions:**

1.  **Increase PHP Limits:**

```php
// php.ini or LocalConfiguration.php
memory_limit = 512M
max_execution_time = 300
upload_max_filesize = 20M
post_max_size = 20M
```

1.  **Optimize Image Processor:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_path_lzw'] = '';
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_colorspace'] = 'RGB';
```

1.  **Limit Upload Size:**

```typoscript
# Page TSConfig
RTE.default.buttons.image.options.magic {
    maxFileSize = 5000  # 5MB in KB
}
```

---

### Issue: Processed Images Directory Growing {#issue-processed-images-directory-growing}

**Symptoms:**

-   Large `_processed_/` directory
-   Disk space issues
-   Duplicate processed images

**Causes:**

1.  Old processed images not cleaned up
1.  Multiple versions of same image
1.  Unused processed files accumulating

**Solutions:**

1.  **Clean Old Processed Files:**

```bash
# Remove processed files older than 30 days
find fileadmin/_processed_ -type f -mtime +30 -delete
```

1.  **Implement Automated Cleanup:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_allowTemporaryMasksAsPng'] = false;
```

1.  **Schedule Cleanup Task:**

Create a scheduler task to regularly clean old processed images:

```bash
# Cron job example (runs weekly)
0 2 * * 0 find /path/to/fileadmin/_processed_ -type f -mtime +30 -delete
```

---

## Database Performance {#database-performance}

### Issue: Large Database Size {#issue-large-database-size}

**Symptoms:**

-   Database growing rapidly
-   sys_refindex table very large
-   Slow queries

**Causes:**

1.  Excessive soft reference entries
1.  Orphaned records
1.  Unoptimized indexes

**Solutions:**

1.  **Rebuild Reference Index:**

```bash
./vendor/bin/typo3 referenceindex:update
```

1.  **Clean Up Orphaned Records:**

```sql
-- Find images in deleted content
SELECT uid, bodytext
FROM tt_content
WHERE deleted = 1 AND bodytext LIKE '%data-htmlarea-file-uid%';
```

1.  **Optimize Tables:**

```sql
OPTIMIZE TABLE sys_refindex;
OPTIMIZE TABLE tt_content;
```

---

### Issue: Slow Reference Index Updates {#issue-slow-reference-index-updates}

**Symptoms:**

-   Reference index update takes long time
-   High CPU usage during updates

**Solutions:**

1.  **Batch Update References:**

```bash
# Update in smaller batches
./vendor/bin/typo3 referenceindex:update --check
```

1.  **Schedule Off-Peak Updates:**

Run reference index updates during low-traffic periods:

```bash
# Cron job (runs at 3 AM)
0 3 * * * /path/to/vendor/bin/typo3 referenceindex:update
```

---

## Cache Performance {#cache-performance}

### Issue: Excessive Cache Invalidation {#issue-excessive-cache-invalidation}

**Symptoms:**

-   Caches cleared too frequently
-   Slow page regeneration
-   High server load

**Causes:**

1.  Aggressive cache clearing
1.  Content changes trigger full cache clear
1.  Misconfigured cache tags

**Solutions:**

1.  **Optimize Cache Configuration:**

```php
// LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['pages'] = [
    'backend' => \TYPO3\CMS\Core\Cache\Backend\RedisBackend::class,
    'options' => [
        'hostname' => 'localhost',
        'database' => 0,
        'port' => 6379,
    ],
];
```

1.  **Use Cache Tags Effectively:**

```typoscript
config {
    cache_period = 86400
    sendCacheHeaders = 1
}
```

1.  **Implement Selective Cache Clearing:**

```bash
# Clear only specific cache groups
./vendor/bin/typo3 cache:flush --group=pages
```

---

## Network Performance {#network-performance}

### Issue: Slow Image Loading from CDN {#issue-slow-image-loading-from-cdn}

**Symptoms:**

-   Images load slowly despite CDN
-   Inconsistent loading times
-   Failed CDN requests

**Solutions:**

1.  **Configure Proper CDN:**

```typoscript
config {
    absRefPrefix = /
    baseURL = https://cdn.yourdomain.com/
}
```

1.  **Use HTTP/2:**

Ensure your server supports HTTP/2 for multiplexing

1.  **Implement Preconnect:**

```html
<link rel="preconnect" href="https://cdn.yourdomain.com">
<link rel="dns-prefetch" href="https://cdn.yourdomain.com">
```

---

## Monitoring and Profiling {#monitoring-and-profiling}

### Performance Monitoring {#performance-monitoring}

1.  **Enable TYPO3 Admin Panel:**

```typoscript
config.admPanel = 1
```

1.  **Monitor Image Processing:**

```bash
# Check processing time
./vendor/bin/typo3 backend:test:imageprocessing
```

1.  **Track Page Load Times:**

-   **Use browser DevTools Network tab to monitor:**

    -   Image load times
    -   TTFB (Time to First Byte)
    -   Total page load time

### Database Query Profiling {#database-query-profiling}

```sql
-- Find slow queries
SHOW PROCESSLIST;

-- Analyze reference index queries
EXPLAIN SELECT * FROM sys_refindex WHERE tablename='tt_content';
```

### Image Processing Profiling {#image-processing-profiling}

```bash
# Time image processing
time ./vendor/bin/typo3 backend:test:imageprocessing

# Monitor processed files
watch -n 5 "ls -lh fileadmin/_processed_/ | wc -l"
```

---

## Optimization Best Practices {#optimization-best-practices}

### Image Optimization Checklist {#image-optimization-checklist}

✓ **Configure reasonable maximum dimensions:**

```typoscript
RTE.default.buttons.image.options.magic {
    maxWidth = 1920
    maxHeight = 1080
}
```

✓ **Enable image processing:**

```php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_enabled'] = true;
```

✓ **Set appropriate JPEG quality:**

```php
$GLOBALS['TYPO3_CONF_VARS']['GFX']['jpg_quality'] = 85;
```

✓ **Implement lazy loading:**

```html
<img loading="lazy" src="..." />
```

✓ **Use browser caching:**

```apache
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
```

✓ **Regular cleanup of processed files:**

```bash
find fileadmin/_processed_ -type f -mtime +30 -delete
```

✓ **Monitor disk space and database size**

✓ **Optimize images before upload** (recommend to editors)

### Server Optimization Checklist {#server-optimization-checklist}

✓ **Adequate PHP memory:** 512M minimum

✓ **Fast image processor:** ImageMagick or GraphicsMagick

✓ **Redis/Memcached for caching**

✓ **HTTP/2 support enabled**

✓ **CDN for static assets**

✓ **Regular database optimization**

✓ **Scheduled cleanup tasks**

---

## Related Documentation {#related-documentation}

**Other Troubleshooting Topics:**

-   [Installation Issues](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:troubleshooting-installation-issues@main) \- Installation and setup problems
-   [Editor Issues](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:troubleshooting-editor-issues@main) \- Editor and backend problems
-   [Frontend Issues](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:troubleshooting-frontend-issues@main) \- Frontend rendering issues

**Additional Resources:**

-   [Integration & Configuration](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:integration@main) \- Configuration guide
-   [System Architecture](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:architecture-system-components@main) \- Image processing details
-   [Best Practices](https://docs.typo3.org/permalink/netresearch/rte-ckeditor-image:best-practices@main) \- Performance best practices

## Getting Help {#getting-help}

If issues persist after troubleshooting:

1.  **Check GitHub Issues:** [https://github.com/netresearch/t3x-rte_ckeditor_image/issues](https://github.com/netresearch/t3x-rte_ckeditor_image/issues)
1.  **Review Changelog:** Look for performance improvements in CHANGELOG.md
1.  **TYPO3 Slack:** Join [#typo3-cms](https://typo3.slack.com/archives/typo3-cms)
1.  **Stack Overflow:** Tag questions with `typo3` and `performance`

> [!IMPORTANT]
> When reporting performance issues, include:
>
> -   TYPO3 version
> -   Extension version
> -   PHP version and limits
> -   Server specifications
> -   Database size
> -   Number of images
> -   Performance measurements
> -   Profiling data
