Boilerplate Features and Behaviors For Engineering Needs.
This document contains epics and their stories to identify engineering needs that should be satisfied by application development efforts. It is written for systems engineers and uses the perspectives of software, front end, and user experience engineers.
Use the log output from wget
to capture a list of URLs:
wget -a wget-log.txt --ignore-tags=img,link,script -X admin -e robots=off -nv --header="Accept: text/html" -r -l 0 --domains=example.org --no-cookies http://example.org/
Process that log file to collect a sorted list of unique URLs:
cat wget-log.txt | grep -F 'URL:http' | awk '{print $3}' | sort | uniq | sed -e s/^URL:// > tmp.txt
fs.file-max=131072 | |
kernel.shmall=32768 | |
kernel.shmmax=536870912 | |
net.core.netdev_max_backlog=4096 | |
net.core.optmem_max=25165824 | |
net.core.rmem_default=25165824 | |
net.core.rmem_max=25165824 | |
net.core.somaxconn=4096 | |
net.core.wmem_default=65536 | |
net.core.wmem_max=25165824 |
This test server has been running for 24.7 days as the data store for load testing Magento 1.13.1 EE against various PHP versions.
- 5042
SELECTs
- 2301
INSERTs
- 176
COMMITs
- 253
UPDATEs
; configuration for php ZendOpcache module | |
; Tuned for Magento 1.13.1 on PHP 5.5 | |
; Test server has 8 CPU cores and 32 GB RAM | |
zend_extension=opcache.so | |
[opcache] | |
opcache.memory_consumption=256 | |
opcache.interned_strings_buffer=12 | |
opcache.max_accelerated_files=16000 | |
opcache.enable_file_override=1 |
Magento’s checkout throughput can increase to at least 8 times its current capacity and up to 26 times more in ideal conditions.
- The current checkouts per hour limit for large, real-world Magento stores is 4,500
- This limit cannot effectively be increased with more and/or better hardware
- The improper type handling in Magento’s SQL code is the cause of the current limit
- If one SQL query is fixed, large Magento stores can scale to a new, real-world limit of 120,000 checkouts per hour
- For commodity hardware, this new limit might be 36,000 checkouts per hour
Removing quotes from an INT column allows MySQL to use the index and this can reduce rows scanned by 99.997 percent. Example from Magento 1.12 on a production database; the query takes nearly a second to execute:
mysql> explain DELETE FROM `catalog_product_index_price` WHERE entity_id IN('433284', 433283)\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: catalog_product_index_price
type: ALL
possible_keys: NULL
Given…
- Competitions of fixed time will be scored on a measurement criteria
- Competitions of fixed measurements will be scored on a time criteria
The criteria can be high score OR low score wins
Measurements are typically distance (miles, km, etc) or counts (arbitrary; pins in bowling, free throws in basketball, dollars in fundraising)
Override layers are needed for some conditions where special scoring is wanted. These can be tournaments, score handicaps, or even something playful like house rules.
- Source host:
mysqldump --skip-opt -e -q --compact --single-transaction -n -t --set-charset [$database_name] [$tables]
- Move the dump to destination host (
scp
) lock
destination$tables
truncate
destination$tables
- `SET SESSION sql_mode='ALLOW_INVALID_DATES'; SET SESSION foreign_key_checks=0; SET SESSION unique_checks=0; SET SESSION autocommit=0;
- Load dump as SQL
source
commit
transactionunlock
destination $tables