回答編集履歴

2

メモリ量の見積もりについて追記した。

2016/01/04 05:49

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -35,3 +35,105 @@
35
35
  それから、現象発生時に/var/log/messagesやhttpd、mysqldのログなどに、
36
36
 
37
37
  何かエラーログは出ていませんか?
38
+
39
+
40
+
41
+ ---
42
+
43
+ (2016/1/4 14:42追記)
44
+
45
+ 大雑把に、接続毎に使用するメモリと、接続数によらず使用するメモリがあるので、
46
+
47
+
48
+
49
+ 0. 入口で接続数を制限する
50
+
51
+ 0. 接続毎のメモリ量を制限する
52
+
53
+ 0. 接続数によらないメモリの量を制限する
54
+
55
+
56
+
57
+ ことが必要と思います。
58
+
59
+ ```
60
+
61
+ 接続数×接続毎のメモリ量+接続数によらないメモリの量
62
+
63
+ ```
64
+
65
+ が総メモリ量の八割程度に収まるようにしておくのが良いかと思います。
66
+
67
+
68
+
69
+ 1.は、p-chanさんの回答にある、Apacheの多重度の制限で実現すれば良いと思います。
70
+
71
+ MaxClients、KeepAlive、MaxRequestsPerChildの設定が重要と思います。
72
+
73
+
74
+
75
+ 2.と3.については、ApacheとMySQLで分けて書きます。
76
+
77
+ ### Apache
78
+
79
+ 2.については、制限するというより、まずはどのくらい使用しているか見た方が良いと思います。
80
+
81
+ 1プロセスでは300MB程度のようなので、これをいくつの接続で使用したかを設定値を見て
82
+
83
+ 判断することになると思います。
84
+
85
+ 接続数はpreforkなら1ですし、workerならThreadsPerChildに設定した値と思います。
86
+
87
+ 3.については、おそらくApacheで接続数によらずに使用するメモリは少ないので、
88
+
89
+ 考慮に入れなくて良いと思います。
90
+
91
+
92
+
93
+ ### MySQL
94
+
95
+ 2.3.についてのMySQLの設定では、[この](http://blog.mogmet.com/calculate-mysql-total-memory-sql/)ページや[この](http://sawara.me/mysql/1428/)ページにもある、以下のパラメータの設定を見直すことになると思います。
96
+
97
+ - リクエスト毎のメモリ
98
+
99
+ ```
100
+
101
+ sort_buffer_size
102
+
103
+ join_buffer_size
104
+
105
+ read_buffer_size
106
+
107
+ read_rnd_buffer_size
108
+
109
+ net_buffer_length
110
+
111
+ ```
112
+
113
+ - リクエスト数によらないメモリ
114
+
115
+ ```
116
+
117
+ key_buffer_size
118
+
119
+ query_cache_size
120
+
121
+ innodb_buffer_pool_size
122
+
123
+ innodb_log_buffer_size
124
+
125
+ innodb_additional_mem_pool_size
126
+
127
+ ```
128
+
129
+ 設定値が、サーバにMySQLしかない場合に合わせてあり、
130
+
131
+ Apacheが使う分のメモリが計算に入っていない可能性があるのではと思っています。
132
+
133
+ 設定値を見ていないので、ただの憶測ですが。
134
+
135
+
136
+
137
+
138
+
139
+

1

リンクを追加した。

2016/01/04 05:48

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  ディスクI/Oの状況は分かりますか?
22
22
 
23
- さくらvpsにはコントロールパネルが有るようなので、
23
+ さくらvpsには[コントロールパネル](http://vps.sakura.ad.jp/feature/controlpanel.html)が有るようなので、
24
24
 
25
25
  その情報で良いので提示できますか?
26
26