php - DigitalOcean 服务器上的 Magento

标签 php mysql apache magento digital-ocean

我在 Digital Ocean 服务器上运行的 Magento 商店有问题。

这是我的液滴配置:<​​/p>

2GB Ram | 40GB SSD Disk | New York 2 | Ubuntu Ubuntu 12.04.3 x64

当我使用 Magento 商店时,它工作正常,除非我尝试创建帐户或进行购买。

然后需要 2 分钟才能完成购买。

我在本地(使用数据库)下载了整个网站,订购和创建帐户只需要几秒钟。

我尝试将 Droplet 升级到 4GB Ram,但还是一样。

这是我的 php 配置:

max_execution_time  30
max_file_uploads    20  20
max_input_nesting_level 64
max_input_time  60
max_input_vars  1000    
memory_limit    512M

我不确定如何继续调试它。有人可以建议吗?

更新 #2(基于 MageWorx 的 UPD): 根据 MageWorx(updated) 建议,我在服务器上运行了 mysqltunner。这些是结果:

[OK] Logged in using credentials from debian maintenance account.
[OK] Currently running supported MySQL version 5.5.38-0ubuntu0.12.04.1
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM 
[--] Data in MyISAM tables: 25K (Tables: 28)
[--] Data in InnoDB tables: 36M (Tables: 1386)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[--] Data in MEMORY tables: 0B (Tables: 68)
[!!] Total fragmented tables: 1387

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 49s (338 q [6.898 qps], 71 conn, TX: 181K, RX: 51K)
[--] Reads / Writes: 92% / 8%
[--] Total buffers: 832.0M global + 2.7M per thread (100 max threads)
[OK] Maximum possible memory usage: 1.1G (54% of installed RAM)
[OK] Slow queries: 0% (0/338)
[OK] Highest usage of available connections: 2% (2/100)
[OK] Key buffer size / total MyISAM indexes: 32.0M/178.0K
[!!] Query cache efficiency: 12.9% (30 cached / 233 selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 12 sorts)
[OK] Temporary tables created on disk: 25% (57 on disk / 222 total)
[OK] Thread cache hit rate: 97% (2 created / 71 connections)
[OK] Table cache hit rate: 25% (1K open / 6K opened)
[OK] Open file limit used: 1% (104/8K)
[OK] Table locks acquired immediately: 100% (248 immediate / 248 locks)
[OK] InnoDB buffer pool / data size: 512.0M/36.8M
[OK] InnoDB log waits: 0
-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours - recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries
Variables to adjust:
    query_cache_limit (> 4M, or use smaller result sets)

这些是 apachebuddy 的结果:

Your server has 2002 MB of memory
The largest apache process is using 39.78 MB of memory
The smallest apache process is using 15.04 MB of memory
The average apache process is using 17.32 MB of memory
Going by the average Apache process, Apache can potentially use 433.00 MB RAM (21.63 % of available RAM)
Going by the largest Apache process, Apache can potentially use 994.50 MB RAM (49.68 % of available RAM)

Generating reports...
### GENERAL REPORT ###

Settings considered for this report:

    Your server's physical RAM:     2002MB
    Apache's MaxClients directive:      25
    Apache MPM Model:           prefork
    Largest Apache process (by memory): 39.78MB
[ OK ]  Your MaxClients setting is within an acceptable range.
    Max potential memory usage:         994.5 MB

    Percentage of RAM allocated to Apache   49.68 %

最佳答案

我敢假设问题是由于缺少 mysql 设置优化引起的。关键是,如果不优化 mysql,您将无法提高网站速度,因为 mysql 不会使用 100% 的服务器资源。

这些是 2Gb droplet (/etc/mysql/my.cnf) 的基本设置:

key_buffer=32M
query_cache_type=1
query_cache_limit=1M
query_cache_size=32M
table_cache=128
innodb_buffer_pool_size=256M

由于这些是基本设置,您可以使用应用程序 http://mysqltuner.com/进一步优化 mysql。

关于php - DigitalOcean 服务器上的 Magento,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27481387/

相关文章:

php - AJAX 间隔函数对服务器有害吗?

php - Wordpress 数据库连接插件

java - 如何为 Web 应用程序配置 apache http 客户端 v3.0(多线程)

apache - Slim(PHP)RESTful API的Apache重写规则

php - MySQL 查询准备语句不返回任何结果

php - Doctrine 2.1.5 setFirstResult() 在 MySQL 5.5 中产生错误

php - 列出两个单独表中 ID 匹配的记录

mysql - Google Cloud SQL Mysql 5.7 次要版本,如何进行升级?

mysql - 如何从具有这些条件的表中进行选择?

Apache : Restrict access to URI, 不是资源