GitHub user FrancescoCastaldi edited a discussion: Installation of Superset 6.1.0 on Windows with venv (PyPI) – service stability & backend performance tuning
Hi everyone, I'm planning to deploy Apache Superset version 6.1.0 on a Windows machine (Windows 10/11 or Windows Server). I would like to use a standard Python virtual environment (venv) and install Superset via PyPI (pip). I have a few questions regarding the installation process, keeping the service alive, and improving backend performance. Any guidance or best practices would be greatly appreciated. 1. Installation steps for Superset 6.1.0 on Windows using venv Could someone provide a complete, step‑by‑step guide for installing Superset 6.1.0 on Windows with venv? I'm aware that older versions may have Windows‑specific quirks. Specifically: Which Python version is recommended for Superset 6.1.0 on Windows? (e.g., 3.9, 3.10, 3.11?) How to set up the virtual environment and install Superset exactly: bash python -m venv superset_venv superset_venv\Scripts\activate pip install apache-superset==6.1.0 Are there any extra dependencies (e.g., gevent, pywin32, mysqlclient) that must be pre‑installed or built manually on Windows? How to initialise the metadata database (default SQLite) and create the admin user without errors on Windows? Any known pitfalls when running superset run or superset run -p 8088 --with-threads --reload on Windows? 2. Keeping the Superset service alive without crashing Once Superset is running, I need to ensure it stays active even after closing the terminal or rebooting the machine. On Windows, what is the recommended approach to run Superset as a reliable background service? Options I'm considering: Using NSSM (Non‑Sucking Service Manager) to wrap the superset run command as a Windows service. Running Superset with Waitress or Gunicorn? (Gunicorn is not native to Windows – would you recommend waitress instead?) Using Task Scheduler to start Superset at boot and restart on failure. Any other process supervisor that works well on Windows (e.g., pm2 for Node.js, but for Python)? Additionally, how can I automatically restart Superset if it crashes due to an unhandled exception or out‑of‑memory condition? Are there specific Superset configuration flags or environment variables that improve stability on Windows? 3. Backend modifications for better performance I'm looking for advice on tuning Superset's backend (database, caching, web server, etc.) to achieve better performance – especially when dealing with many concurrent dashboard views or large datasets. Which configuration changes or additional components do you recommend? Metadata database: Moving from default SQLite to a production database (e.g., PostgreSQL) – any Windows‑specific connection string examples or performance gains? Caching layer: Enabling Redis or Memcached for results caching and CACHE_CONFIG. What are the best TIMEOUT and CACHE_DEFAULT_SCHEMA values for Windows? Web server concurrency: If I use waitress (instead of the built‑in Flask dev server), what thread count works well on Windows (e.g., --threads=4)? Should I also consider --asyncore or --poll? Database connection pooling: For the underlying data sources (e.g., PostgreSQL, MySQL, ClickHouse), how to configure connection pooling in Superset's DATABASES dictionary to avoid connection overhead? Pre‑loading and caching of dashboards: Are there settings to pre‑load frequently used dashboards into memory? Gunicorn alternatives on Windows: Since Gunicorn is Unix‑only, what is the most performant WSGI server for Windows in production? If you have sample superset_config.py snippets for Windows performance tuning (e.g., ROW_LIMIT, SQLLAB_TIMEOUT, CACHE_QUERIES, CSV_EXPORT), please share them. GitHub link: https://github.com/apache/superset/discussions/40335 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
