Немного занимался сайтом, решил посмотреть где идут самые крупные тормоза при запросе страницы. Оказалось, что на 10-20 сек может повеситься sql-запрос
insert into `anime__visits` ...
который добавляет в таблицу данные о дёрганиях страниц. А в таблице 2 млн строк... И пересборка индекса после каждого insert'а...
Сделал таблицу anime__visits_delayed с engine=memory, и в неё какаю через
insert delayed into `anime__visits_delayed` ...
А раз в пятнадцать минут переношу всё в основную таблицу, а эту — стираю.
Ну и anime__visits партициировал по годам. Теперь там пересборка не 2 млн строк, а только входов за этот год.
Теперь скорость загрузки глагне ~80 мс
```
Benchmarking animefag.ru (be patient).....done
Server Software: nginx/1.8.0
Server Hostname: animefag.ru
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Document Path: /
Document Length: 33002 bytes
Concurrency Level: 1
Time taken for tests: 2.288 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 3454830 bytes
HTML transferred: 3300200 bytes
Requests per second: 43.70 [#/sec] (mean)
Time per request: 22.882 [ms] (mean)
Time per request: 22.882 [ms] (mean, across all concurrent requests)
Transfer rate: 1474.48 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 3 4 1.3 3 9
Processing: 10 19 14.9 12 85
Waiting: 10 18 14.9 12 85
Total: 13 23 15.2 16 91
Percentage of the requests served within a certain time (ms)
50% 16
66% 23
75% 25
80% 27
90% 35
95% 70
98% 79
99% 91
100% 91 (longest request)
```
Дата: 28 июня 2015, 1:46